地域分布式系統(tǒng)設(shè)計指南_第1頁
地域分布式系統(tǒng)設(shè)計指南_第2頁
地域分布式系統(tǒng)設(shè)計指南_第3頁
地域分布式系統(tǒng)設(shè)計指南_第4頁
地域分布式系統(tǒng)設(shè)計指南_第5頁
已閱讀5頁,還剩88頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、地域分布式系統(tǒng)設(shè)計指南技術(shù)創(chuàng)新,變革未來主題:在一個復(fù)雜的軟硬件環(huán)境中,設(shè)計 一個分布式存儲系統(tǒng)遇到了哪些問 題?是如何解決的?一些經(jīng)驗的總結(jié),供參考提出問題分析問題解決問題經(jīng)驗總結(jié)1.提出問題萬達在全國具有200+的實體廣場,每個廣場具備自己 的內(nèi)部機房。包括路由器,無線熱點,主機,防火墻等 硬件資源。當(dāng)用戶進入廣場內(nèi)部時,手機會通過熱點自 動連入廣場內(nèi)部局域網(wǎng)系統(tǒng)。這些廣場機房的服務(wù)質(zhì)量遠達不到專業(yè)數(shù)據(jù)中心的服務(wù)質(zhì)量。廣場內(nèi)部接近局域網(wǎng)環(huán)境,廣場之間接近廣 域網(wǎng)環(huán)境。如果我們能有效的利用廣場內(nèi)部硬件、網(wǎng)絡(luò)資源,將用戶或商品的一部分?jǐn)?shù)據(jù)存入廣場內(nèi)部機房,并做合 適的計算加工,用戶將享受到本地

2、計算與本地存儲的體 驗,同時降低了硬件成本。但必須想辦法解決小機房服 務(wù)質(zhì)量不達標(biāo)的問題。提出問題分析問題解決問題經(jīng)驗總結(jié)2. 分析問題2.1 了解必要的理論體系歷史脈絡(luò)ACID、CAP 兩個C有什么不同如何劃清問題邊界?關(guān)于CAP的誤解實地場測,抽象問題模型協(xié)議選型與改造2. 分析問題2.1 了解必要的理論體系歷史脈絡(luò)ACID、CAP 兩個C有什么不同如何劃清問題邊界?關(guān)于CAP的誤解實地場測,抽象問題模型協(xié)議選型與改造2000 Eric Brewer UC Berkeley 提出CAP猜想2002 Seth Gilbert,Nancy Lynch MIT 證明CAP2011 Nathan

3、Marz Twitter首席工程師,Storm創(chuàng)始人How to beat the CAP theorem2012 Eric BrewerHow the Rules Have Changed計算機與互聯(lián)網(wǎng)技術(shù)起源于戰(zhàn)爭的需要以Jim Gray為代表的數(shù)據(jù)庫技術(shù) 和 以Leslie Lamport為代表的分布 式技術(shù)逐漸融合2. 分析問題2.1 了解必要的理論體系歷史脈絡(luò)ACID、CAP 兩個C有什么不同如何劃清問題邊界?關(guān)于CAP的誤解實地場測,抽象問題模型協(xié)議選型與改造ACIDCAPACIDConsistencyCAPConsensusACIDConsistencyCAPConsensus始

4、終如一的 共識的Consistency1983ConsistencyConsistencyConsensusConsensusConsistencyConsensusYES !NO !關(guān)于分布式領(lǐng)域里的“一致性”,又可以進一步細分2. 分析問題2.1 了解必要的理論體系歷史脈絡(luò)ACID、CAP 兩個C有什么不同如何劃清問題邊界?關(guān)于CAP的誤解實地場測,抽象問題模型協(xié)議選型與改造業(yè)務(wù)邏輯簡單了,但ACID又如何保證呢?絕對的ACID是不存在的,只是在某種概率上得到了保證分布式領(lǐng)域里的模型假設(shè)分布式領(lǐng)域里的模型假設(shè)分布式領(lǐng)域里的模型假設(shè)網(wǎng)絡(luò)中包含多個主機每個主機包含若干進程與磁盤進程間通過網(wǎng)絡(luò)包

5、通信網(wǎng)絡(luò)包可能會重復(fù),丟失,亂序,但內(nèi)容不會出錯進程可能會重啟磁盤可能會損壞,導(dǎo)致數(shù)據(jù)丟失,但數(shù)據(jù)不會出錯RTT一般在1ms之內(nèi)分布式領(lǐng)域里的模型假設(shè)網(wǎng)絡(luò)中包含多個主機每個主機包含若干進程與磁盤進程間通過網(wǎng)絡(luò)包通信網(wǎng)絡(luò)包可能會重復(fù),丟失,亂序,但內(nèi)容不會出錯進程可能會重啟磁盤可能會損壞,導(dǎo)致數(shù)據(jù)丟失,但數(shù)據(jù)不會出錯RTT一般在1ms之內(nèi)什么是拜占庭問題?可以簡單的理解為:承諾與實際表現(xiàn)不相符出現(xiàn)拜占庭問題怎么辦?網(wǎng)絡(luò)包數(shù)據(jù)出錯磁盤數(shù)據(jù)出錯程序出現(xiàn)bug。出現(xiàn)拜占庭問題怎么辦?網(wǎng)絡(luò)包數(shù)據(jù)出錯磁盤數(shù)據(jù)出錯程序出現(xiàn)bug。通過其他方式在一定的概率上解決拜占庭問題,但不要影響我們基于非拜占庭環(huán)境的架構(gòu)

6、設(shè)計出現(xiàn)拜占庭問題怎么辦?網(wǎng)絡(luò)包數(shù)據(jù)出錯磁盤數(shù)據(jù)出錯程序出現(xiàn)bug。通過其他方式在一定的概率上解決拜占庭問題,但不要影響我們基于非拜占庭環(huán)境的架構(gòu)設(shè)計2. 分析問題2.1 了解必要的理論體系歷史脈絡(luò)ACID、CAP 兩個C有什么不同如何劃清問題邊界?關(guān)于CAP的誤解實地場測,抽象問題模型協(xié)議選型與改造2000 Eric Brewer UC Berkeley 提出CAP猜想2002 Seth Gilbert,Nancy Lynch MIT 證明CAP2011 Nathan Marz Twitter首席工程師,Storm創(chuàng)始人How to beat the CAP theorem2012 Eric

7、 BrewerHow the Rules Have ChangedCA or AP or CP ?CA or AP or CP ?NO!0.9 C + 0.9 A + 0.2 P0.7 C + 0.7 A + 0.6 P0.9 C + 0.9 A + 0.2 P0.7 C + 0.7 A + 0.6 P可用性:在可接受的時間內(nèi)給出反饋結(jié)果。0.9 C + 0.9 A + 0.2 P0.7 C + 0.7 A + 0.6 P不用太糾結(jié),以滿足實際需求為標(biāo)準(zhǔn)2. 分析問題2.1 了解必要的理論體系歷史脈絡(luò)ACID、CAP 兩個C有什么不同如何劃清問題邊界?關(guān)于CAP的誤解實地場測,抽象問題模型協(xié)議

8、選型與改造分布式領(lǐng)域里的模型假設(shè)網(wǎng)絡(luò)中包含多個主機每個主機包含若干進程與磁盤進程間通過網(wǎng)絡(luò)包通信網(wǎng)絡(luò)包可能會重復(fù),丟失,亂序,但內(nèi)容不會出錯進程可能會重啟磁盤可能會損壞,導(dǎo)致數(shù)據(jù)丟失,但數(shù)據(jù)不會出錯RTT同廣場1ms以下,同城10ms,跨城市幾十ms同城接近局域網(wǎng)跨城接近廣域網(wǎng)供電系統(tǒng)弱于專業(yè)機房,機房斷電概率高于專業(yè)機房冷卻系統(tǒng)弱于專業(yè)機房,機器重啟概率高于專業(yè)機房2. 分析問題2.1 了解必要的理論體系歷史脈絡(luò)ACID、CAP 兩個C有什么不同如何劃清問題邊界?關(guān)于CAP的誤解實地場測,抽象問題模型協(xié)議選型與改造Leslie LamportTime,Clocks,and the Order

9、ing of Events in a Distributed SystemThe Byzantine Generals ProblemThe Part-Time ParliamentPaxos Made Simple多個節(jié)點如何就一個值達成一致?多個節(jié)點如何就一個值達成一致?value取得大多數(shù)acceptor的認可多個節(jié)點就一個值達成一致有什么用?多個節(jié)點就一個值達成一致有什么用?多個節(jié)點選主多個節(jié)點就一個值達成一致有什么用?多個節(jié)點就一個值達成一致有什么用?Multi-Paxos 只是一個思路,很多細節(jié)論文里都沒有描述,導(dǎo)致系統(tǒng)實現(xiàn)起來困難重重Multi-Paxos 只是一個思路,很多細節(jié)

10、論文里都沒有描述,導(dǎo)致系統(tǒng)實現(xiàn)起來困難重重Multi-Paxos 只是一個思路,很多細節(jié)論文里都沒有描述,導(dǎo)致系統(tǒng)實現(xiàn)起來問題不少假設(shè)采用Paxos模型假設(shè)采用Paxos模型,我們的系統(tǒng)會有什么問題?假設(shè)采用Paxos模型,我們的系統(tǒng)會有什么問題?假設(shè)采用Paxos模型,我們的系統(tǒng)會有什么問題?異地寫,異地數(shù)據(jù)同步,丟包率與性能不達標(biāo)保證Raft Group在一個近似局域網(wǎng)的環(huán)境解決了RaftGroup數(shù)據(jù)同步的問題, 但仍然沒有完全實現(xiàn)本地讀寫抽樣統(tǒng)計用戶的對某條數(shù)據(jù)的讀寫地點,發(fā)現(xiàn)99%以上的讀寫都發(fā)生在數(shù)據(jù)所在的同一個城市根據(jù)歷史訪問規(guī)律,對數(shù)據(jù)增加歸屬地信息99%以上的讀寫享受本地計算

11、和本地存儲的收 益對數(shù)據(jù)的讀操作,提供強一致和最終一致兩 種接口。強一致讀歸屬地機房,最終一致讀 本地機房。系統(tǒng)統(tǒng)計用戶的歷史訪問規(guī)律,對歸屬地信息做自適應(yīng)的修改優(yōu)勢:99%以上的讀寫享受本地操作待遇劣勢:受限于業(yè)務(wù)場景,不“普適”優(yōu)勢:99%以上的讀寫享受本地操作待遇劣勢:受限于業(yè)務(wù)場景,不“普適”所謂的“優(yōu)化”本質(zhì)上是針對特定場景下 的訪問規(guī)律在時間和空間兩個維度做自適 應(yīng)和更精確的調(diào)度另一種思路:VectorClock另一種思路:VectorClock待探索:引入機器學(xué)習(xí)與數(shù)據(jù)挖掘的算法,更精確 的將與用戶相關(guān)的數(shù)據(jù)自適應(yīng)到合適的機 房,甚至做到在用戶物理上到達某個機房 之前,做出預(yù)測,提前將數(shù)據(jù)調(diào)度過去。這里的關(guān)鍵點在于用戶線下的物理行為是 有一定規(guī)律可循的,也是實體商業(yè)的一種 特點。是否靠譜,尚待研究和實踐檢驗。提出問題分析問題解決問題經(jīng)驗總結(jié)最終的選擇實現(xiàn)一個生產(chǎn)級別的Paxos庫,并不是一件容易的事實現(xiàn)一個生產(chǎn)級別的Paxos庫,并不是一件容易的事實現(xiàn)一個生產(chǎn)級別的Paxos庫,并不是一件容易的事系統(tǒng)設(shè)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論