資源描述:
《阿里巴巴國(guó)際站鏡像解決方案課件.ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、阿里巴巴網(wǎng)站技術(shù)介紹網(wǎng)站鏡像和同步技術(shù)綱要一、前言二、網(wǎng)站部署的三個(gè)階段三、新的挑戰(zhàn)四、總結(jié)阿里巴巴(Alibaba.com)是一個(gè)服務(wù)于全球企業(yè)的(B2B)電子商務(wù)平臺(tái)。用戶遍布中國(guó)以及世界各地,為了更好的為這上千萬(wàn)的用戶提供網(wǎng)絡(luò)服務(wù),我們建立了多個(gè)站點(diǎn)去為用戶提供應(yīng)用.總體而言,我們的站點(diǎn)發(fā)展經(jīng)歷了以下三個(gè)階段:?jiǎn)握军c(diǎn)雙站點(diǎn)多站點(diǎn)前言綱要一、前言二、網(wǎng)站部署的三個(gè)階段三、新的挑戰(zhàn)四、階段性總結(jié)網(wǎng)站部署的三個(gè)階段應(yīng)用都是無(wú)狀態(tài)的狀態(tài)數(shù)據(jù)都保存在以下的設(shè)備中數(shù)據(jù)庫(kù)存儲(chǔ)第一階段-單站點(diǎn)狀態(tài)數(shù)據(jù)都保存在數(shù)據(jù)庫(kù)
2、和存儲(chǔ),由數(shù)據(jù)庫(kù)和存儲(chǔ)提供分布式以及HA的解決方案。應(yīng)用都是無(wú)狀態(tài)的(盡量用Cookie解決session的問(wèn)題),非常便于擴(kuò)展。描述缺點(diǎn)部分地區(qū)用戶的使用體驗(yàn)不佳系統(tǒng)性能和擴(kuò)展性不好第一階段-單站點(diǎn)可用性的要求單個(gè)IDC發(fā)生故障,例行維護(hù),系統(tǒng)升級(jí)都會(huì)影響所有的用戶,進(jìn)而降低網(wǎng)站的可用時(shí)間。用戶體驗(yàn)的問(wèn)題網(wǎng)站是為全球用戶提供服務(wù)的,物理距離產(chǎn)生的網(wǎng)絡(luò)延時(shí)是不可避免的。10000公里=延時(shí)30毫秒電子商務(wù)網(wǎng)站的內(nèi)容通常都是動(dòng)態(tài)的,CDN只能解決大多數(shù)靜態(tài)資源的問(wèn)題(圖片,css,js…)。驅(qū)動(dòng)力第二階段-
3、雙站點(diǎn)DNS負(fù)載均衡(IDC之間的負(fù)載均衡)數(shù)據(jù)同步解決方案應(yīng)用拆分&鏡像需要解決的問(wèn)題第二階段-雙站點(diǎn)DNS負(fù)載均衡第二階段-雙站點(diǎn)數(shù)據(jù)同步1.0-方案選型數(shù)據(jù)庫(kù)提供的方式專業(yè)工具,例如shareplex自主開(kāi)發(fā)同步效率中高中雙向同步不支持支持支持關(guān)聯(lián)的文件同步不支持不支持支持異構(gòu)數(shù)據(jù)庫(kù)不支持不支持支持沖突檢測(cè)邏輯不支持不支持支持第二階段-雙站點(diǎn)數(shù)據(jù)同步1.0-實(shí)現(xiàn)基于AOP方式的SQL攔截根據(jù)變更的數(shù)據(jù)找到關(guān)聯(lián)的文件.異步的進(jìn)行SQL以及文件的復(fù)制.第二階段-雙站點(diǎn)第二階段-雙站點(diǎn)數(shù)據(jù)同步1.0-缺點(diǎn)
4、數(shù)據(jù)同步1.0-優(yōu)點(diǎn)CAP原理寫(xiě)應(yīng)用:符合Consistency&Availability讀應(yīng)用:符合Partitiontolerance&Availability,結(jié)論:讀應(yīng)用更容易實(shí)現(xiàn)跨IDC的部署問(wèn)題數(shù)據(jù)同步會(huì)放大數(shù)據(jù)不一致&數(shù)據(jù)不完整的情況.這會(huì)增加鏡像站點(diǎn)應(yīng)用的復(fù)雜性.應(yīng)用拆分-分析第二階段-雙站點(diǎn)應(yīng)用拆分-注意事項(xiàng)第二階段-雙站點(diǎn)被鏡像的讀應(yīng)用需要從設(shè)計(jì)上避免數(shù)據(jù)完整性的問(wèn)題.設(shè)計(jì)業(yè)務(wù)流程的時(shí)候需要避免跨IDC的WebFlow.應(yīng)用拆分示意圖第二階段-雙站點(diǎn)部署結(jié)果第二階段-雙站點(diǎn)解決了大多數(shù)
5、讀應(yīng)用和少量寫(xiě)應(yīng)用的用戶體驗(yàn)問(wèn)題.實(shí)現(xiàn)了讀應(yīng)用的跨站點(diǎn)的HA.提高了讀應(yīng)用以及網(wǎng)站的整體可用性.讀應(yīng)用的數(shù)據(jù)源盡量遷移到了Searchengine和cache上為其性能和可擴(kuò)展性帶來(lái)了很大的收益.收益第二階段-雙站點(diǎn)不完全的鏡像同步的延遲到導(dǎo)致應(yīng)用之間數(shù)據(jù)不一致的問(wèn)題,尤其在不同IDC之間存在應(yīng)用的依賴時(shí),這個(gè)問(wèn)題會(huì)被放大。數(shù)據(jù)的雙向同步帶來(lái)了一些不能解決的數(shù)據(jù)沖突,需要在設(shè)計(jì)的時(shí)候進(jìn)行規(guī)避。缺陷第二階段-雙站點(diǎn)應(yīng)用規(guī)模的日益復(fù)雜同步數(shù)據(jù)量的增大數(shù)據(jù)同步1.0的缺點(diǎn)逐漸凸顯.數(shù)據(jù)沖突的問(wèn)題不能攔截所有的數(shù)
6、據(jù)變更開(kāi)始醞釀升級(jí)后記第二階段-雙站點(diǎn)起因第三階段-多站點(diǎn)Disaster…目標(biāo)第三階段-多站點(diǎn)挑戰(zhàn)第三階段-多站點(diǎn)多個(gè)IDC之間的數(shù)據(jù)同步數(shù)據(jù)同步的吞吐量以及數(shù)據(jù)一致性的問(wèn)題.寫(xiě)應(yīng)用的鏡像&數(shù)據(jù)拆分變更數(shù)據(jù)的急劇增長(zhǎng)導(dǎo)致同步的效率成為瓶頸.結(jié)果:站點(diǎn)之間的數(shù)據(jù)延遲不斷加大應(yīng)用之間的數(shù)據(jù)不一致的情況逐漸加劇數(shù)據(jù)同步現(xiàn)狀第三階段-多站點(diǎn)數(shù)據(jù)同步的瓶頸并不在于網(wǎng)絡(luò)數(shù)據(jù)同步的瓶頸最終受制于為了滿足數(shù)據(jù)一致性而對(duì)寫(xiě)入操作進(jìn)行的排序數(shù)據(jù)同步瓶頸分析第三階段-多站點(diǎn)在數(shù)據(jù)庫(kù)層面記錄數(shù)據(jù)變更基于Base原則消息驅(qū)動(dòng)并行
7、所有可以并行的內(nèi)容.有選擇的侵入業(yè)務(wù)簡(jiǎn)單的處理沖突的邏輯Merge操作數(shù)據(jù)同步2.0設(shè)計(jì)原則第三階段-多站點(diǎn)HA方式Master-SlaveMaster-Master業(yè)務(wù)數(shù)據(jù)沖突√實(shí)現(xiàn)成本√維護(hù)成本?硬件成本√可用性√數(shù)據(jù)丟失情況√吞吐量√用戶體驗(yàn)√寫(xiě)應(yīng)用的鏡像方案選擇第三階段-多站點(diǎn)Sharding.去中心化,縮小中心WriteSticky:解決跨站點(diǎn)的WebFlow的問(wèn)題事后補(bǔ)償異步寫(xiě)應(yīng)用的鏡像解決方案第三階段-多站點(diǎn)提高對(duì)數(shù)據(jù)不一致窗口的容忍程度.?dāng)?shù)據(jù)庫(kù)記錄中的文件路徑的問(wèn)題.降低多點(diǎn)更新數(shù)據(jù)的沖突
8、可能性引用計(jì)數(shù)的問(wèn)題應(yīng)用的注意事項(xiàng)&案例第三階段-多站點(diǎn)IDC之間的數(shù)據(jù)不能遵循ACID,只遵循Base的原則.下面兩個(gè)問(wèn)題是提高用戶體驗(yàn)的關(guān)鍵.提高同步性能,縮小數(shù)據(jù)不一致性窗口盡量保證目的端數(shù)據(jù)庫(kù)的數(shù)據(jù)完整性.單個(gè)IDC內(nèi)部的數(shù)據(jù)一致性優(yōu)于跨IDC的數(shù)據(jù)環(huán)境.所以。盡量把單個(gè)用戶的操作行為限制在單個(gè)IDC中.總結(jié)第三階段-多站點(diǎn)綱要一、前言二、網(wǎng)站部署的三個(gè)階段三、新的挑戰(zhàn)四、階段性總結(jié)集中的持久化技術(shù)已經(jīng)不足以支撐應(yīng)用的