資料介紹
關(guān)于一致性
為什么需要Paxos或Quorum算法?分布式系統(tǒng)實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ),是通過多份數(shù)據(jù)副本來保證可靠,假設(shè)部分節(jié)點(diǎn)訪問數(shù)據(jù)失敗,還有其他節(jié)點(diǎn)提供一致的數(shù)據(jù)返回給用戶。對數(shù)據(jù)存儲(chǔ)而言,怎樣保證副本數(shù)據(jù)的一致性當(dāng)屬分布式存儲(chǔ)最重要的問題。 一致性是分布式理論中的根本性問題,近半個(gè)世紀(jì)以來,科學(xué)家們圍繞著一致性問題提出了很多理論模型,依據(jù)這些理論模型,業(yè)界也出現(xiàn)了很多工程實(shí)踐投影。何為一致性問題?簡而言之,一致性問題就是相互獨(dú)立的節(jié)點(diǎn)之間,在可控的時(shí)間范圍內(nèi)如何達(dá)成一項(xiàng)決議的問題。
強(qiáng)一致寫、多段式提交
強(qiáng)一致寫
解決這個(gè)問題最簡單的方法 ,就是強(qiáng)一致寫。在用戶提交寫請求后,完成所有副本更新再返回用戶,讀請求任意選擇某個(gè)節(jié)點(diǎn)。數(shù)據(jù)修改少節(jié)點(diǎn)少時(shí),方案看起來很好,但操作頻繁則有寫操作延時(shí)問題,也無法處理節(jié)點(diǎn)宕機(jī)。
兩段式提交(2PC 、Three-Phase Commit)
既然實(shí)際系統(tǒng)中很難保證強(qiáng)一致,便只能通過兩段式提交分成兩個(gè)階段,先由Proposer(提議者)發(fā)起事物并收集Acceptor(接受者)的返回,再根據(jù)反饋決定提交或中止事務(wù)。
第一階段:Proposer發(fā)起一個(gè)提議,詢問所有Acceptor是否接受;
第二階段:Proposer根據(jù)Acceptor的返回結(jié)果,提交或中止事務(wù)。如果Acceptor全部同意則提交,否則全部終止。
兩階段提交方案是實(shí)現(xiàn)分布式事務(wù)的關(guān)鍵;但是這個(gè)方案針對無反饋的情況,除了“死等”,缺乏合理的解決方案。 Proposer在發(fā)起提議后宕機(jī),階段二的Acceptor資源將鎖定死等。如果部分參與者接受請求后異常,還可能存在數(shù)據(jù)不一致的腦裂問題。
三段式提交(3PC、Three-Phase Commit)
為了解決2PC的死等問題,3PC在提交前增加一次準(zhǔn)備提交(prepare commit)的階段,使得系統(tǒng)不會(huì)因?yàn)樘嶙h者宕機(jī)不知所措。接受者接到準(zhǔn)備提交指令后可以鎖資源,但要求相關(guān)操作必須可回滾。
但3PC并沒有被用在我們的工程實(shí)現(xiàn)上,因?yàn)?PC無法避免腦裂,同時(shí)有其他協(xié)議可以做到更多的特性又解決了死等的問題。
圖1 三段式提交,在二段式提交基礎(chǔ)上增加prepare commit階段
主流的Paxos算法
微信后臺近期開始主要推廣Paxos算法用于內(nèi)部分布式存儲(chǔ)。Paxos是Leslie Lamport提出的基于消息傳遞的一致性算法,解決了分布式存儲(chǔ)中多個(gè)副本響應(yīng)讀寫請求的一致性,Paxos在目前的分布式領(lǐng)域幾乎是一致性的代名詞(據(jù)傳Google Chubby的作者M(jìn)ike Burrows曾說過這個(gè)世界上只有一種一致性算法, 那就是Paxos,其他算法都是殘次品)。Paxos算法在可能宕機(jī)或網(wǎng)絡(luò)異常的分布式環(huán)境中,快速且正確地在集群內(nèi)部對某個(gè)數(shù)據(jù)的值達(dá)成一致,并且保證只要任意多數(shù)節(jié)點(diǎn)存活,都不會(huì)破壞整個(gè)系統(tǒng)的一致性。Paxos的核心能力就是多個(gè)節(jié)點(diǎn)確認(rèn)一個(gè)值,少數(shù)服從多數(shù),獲得可用性和一致性的均衡。
- 分布式電源對配電系統(tǒng)的影響分析
- 分布式存儲(chǔ)系統(tǒng)的局部修復(fù)碼分析 19次下載
- 面向時(shí)空數(shù)據(jù)的分布式區(qū)塊鏈綜述 15次下載
- Ceph分布式存儲(chǔ)系統(tǒng)性能優(yōu)化研究綜述 5次下載
- 基于分布式數(shù)據(jù)Cache的實(shí)時(shí)動(dòng)態(tài)遷移機(jī)制 20次下載
- 一種可行的分布式存儲(chǔ)系統(tǒng)安全構(gòu)造方法 21次下載
- 基于預(yù)分區(qū)策略的分布式數(shù)據(jù)存儲(chǔ)方法 18次下載
- 云存儲(chǔ)中的Ceph分布式文件系統(tǒng)及節(jié)點(diǎn)選擇 13次下載
- 區(qū)塊鏈中的分布式數(shù)據(jù)庫管理系統(tǒng)相關(guān)研究 8次下載
- 如何設(shè)計(jì)和實(shí)現(xiàn)基于UART的機(jī)器人分布式控制通信協(xié)議概述 7次下載
- 集群環(huán)境下分布式索引的實(shí)現(xiàn) 0次下載
- 分布式事務(wù)控制的原理實(shí)例分析 0次下載
- 基于省級截面數(shù)據(jù)的分布式光伏發(fā)電補(bǔ)貼政策實(shí)證分析_賈亞雷 0次下載
- 工業(yè)機(jī)器人分布式控制系統(tǒng)實(shí)例 112次下載
- 基于IEEE1588協(xié)議的分布式系統(tǒng)時(shí)鐘同步方法
- 分布式存儲(chǔ)架構(gòu)面臨的挑戰(zhàn) 1288次閱讀
- 如何使用分布式存儲(chǔ)系統(tǒng)促進(jìn)AI模型訓(xùn)練 494次閱讀
- 融合互通,浪潮分布式融合存儲(chǔ)AS13000加速海量數(shù)據(jù)處理 556次閱讀
- 干貨:解決分布式緩存與數(shù)據(jù)庫的雙存儲(chǔ)雙寫 2489次閱讀
- 應(yīng)對海量圖片存儲(chǔ)的分布式存儲(chǔ)解決方案 3672次閱讀
- 分布式光纖傳感器原理_分布式光纖傳感器的應(yīng)用 8424次閱讀
- 關(guān)于騰訊的開源分布式存儲(chǔ)系統(tǒng)DCache 1970次閱讀
- 淺談分布式存儲(chǔ)的六大優(yōu)點(diǎn) 8838次閱讀
- Qtum量子鏈的分布式自治協(xié)議介紹 1434次閱讀
- 分布式存儲(chǔ)中HDFS與Ceph兩者的區(qū)別是什么,各有什么優(yōu)勢? 3.1w次閱讀
- 存儲(chǔ)分布式系統(tǒng)中如何從CAP轉(zhuǎn)到PACELC 2692次閱讀
- 分布式存儲(chǔ)運(yùn)維系統(tǒng)構(gòu)架簡析 2611次閱讀
- 淺談分布式塊存儲(chǔ)的元數(shù)據(jù)服務(wù)設(shè)計(jì) 4871次閱讀
- 分布式存儲(chǔ)集群設(shè)計(jì),集群網(wǎng)絡(luò)規(guī)劃方案 2814次閱讀
- 深度解讀分布式存儲(chǔ)技術(shù)之分布式剪枝系統(tǒng) 1773次閱讀
下載排行
本周
- 1電子電路原理第七版PDF電子教材免費(fèi)下載
- 0.00 MB | 1490次下載 | 免費(fèi)
- 2單片機(jī)典型實(shí)例介紹
- 18.19 MB | 93次下載 | 1 積分
- 3S7-200PLC編程實(shí)例詳細(xì)資料
- 1.17 MB | 27次下載 | 1 積分
- 4筆記本電腦主板的元件識別和講解說明
- 4.28 MB | 18次下載 | 4 積分
- 5開關(guān)電源原理及各功能電路詳解
- 0.38 MB | 10次下載 | 免費(fèi)
- 6基于AT89C2051/4051單片機(jī)編程器的實(shí)驗(yàn)
- 0.11 MB | 4次下載 | 免費(fèi)
- 7基于單片機(jī)和 SG3525的程控開關(guān)電源設(shè)計(jì)
- 0.23 MB | 3次下載 | 免費(fèi)
- 8基于單片機(jī)的紅外風(fēng)扇遙控
- 0.23 MB | 3次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費(fèi)
- 2PADS 9.0 2009最新版 -下載
- 0.00 MB | 66304次下載 | 免費(fèi)
- 3protel99下載protel99軟件下載(中文版)
- 0.00 MB | 51209次下載 | 免費(fèi)
- 4LabView 8.0 專業(yè)版下載 (3CD完整版)
- 0.00 MB | 51043次下載 | 免費(fèi)
- 5555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33562次下載 | 免費(fèi)
- 6接口電路圖大全
- 未知 | 30320次下載 | 免費(fèi)
- 7Multisim 10下載Multisim 10 中文版
- 0.00 MB | 28588次下載 | 免費(fèi)
- 8開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21539次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935053次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537791次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191183次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183277次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138039次下載 | 免費(fèi)
評論
查看更多