資料介紹
關(guān)于一致性
為什么需要Paxos或Quorum算法?分布式系統(tǒng)實(shí)現(xiàn)數(shù)據(jù)存儲,是通過多份數(shù)據(jù)副本來保證可靠,假設(shè)部分節(jié)點(diǎn)訪問數(shù)據(jù)失敗,還有其他節(jié)點(diǎn)提供一致的數(shù)據(jù)返回給用戶。對數(shù)據(jù)存儲而言,怎樣保證副本數(shù)據(jù)的一致性當(dāng)屬分布式存儲最重要的問題。 一致性是分布式理論中的根本性問題,近半個世紀(jì)以來,科學(xué)家們圍繞著一致性問題提出了很多理論模型,依據(jù)這些理論模型,業(yè)界也出現(xiàn)了很多工程實(shí)踐投影。何為一致性問題?簡而言之,一致性問題就是相互獨(dú)立的節(jié)點(diǎn)之間,在可控的時間范圍內(nèi)如何達(dá)成一項(xiàng)決議的問題。
強(qiáng)一致寫、多段式提交
強(qiáng)一致寫
解決這個問題最簡單的方法 ,就是強(qiáng)一致寫。在用戶提交寫請求后,完成所有副本更新再返回用戶,讀請求任意選擇某個節(jié)點(diǎn)。數(shù)據(jù)修改少節(jié)點(diǎn)少時,方案看起來很好,但操作頻繁則有寫操作延時問題,也無法處理節(jié)點(diǎn)宕機(jī)。
兩段式提交(2PC 、Three-Phase Commit)
既然實(shí)際系統(tǒng)中很難保證強(qiáng)一致,便只能通過兩段式提交分成兩個階段,先由Proposer(提議者)發(fā)起事物并收集Acceptor(接受者)的返回,再根據(jù)反饋決定提交或中止事務(wù)。
第一階段:Proposer發(fā)起一個提議,詢問所有Acceptor是否接受;
第二階段:Proposer根據(jù)Acceptor的返回結(jié)果,提交或中止事務(wù)。如果Acceptor全部同意則提交,否則全部終止。
兩階段提交方案是實(shí)現(xiàn)分布式事務(wù)的關(guān)鍵;但是這個方案針對無反饋的情況,除了“死等”,缺乏合理的解決方案。 Proposer在發(fā)起提議后宕機(jī),階段二的Acceptor資源將鎖定死等。如果部分參與者接受請求后異常,還可能存在數(shù)據(jù)不一致的腦裂問題。
三段式提交(3PC、Three-Phase Commit)
為了解決2PC的死等問題,3PC在提交前增加一次準(zhǔn)備提交(prepare commit)的階段,使得系統(tǒng)不會因?yàn)樘嶙h者宕機(jī)不知所措。接受者接到準(zhǔn)備提交指令后可以鎖資源,但要求相關(guān)操作必須可回滾。
但3PC并沒有被用在我們的工程實(shí)現(xiàn)上,因?yàn)?PC無法避免腦裂,同時有其他協(xié)議可以做到更多的特性又解決了死等的問題。

圖1 三段式提交,在二段式提交基礎(chǔ)上增加prepare commit階段
主流的Paxos算法
微信后臺近期開始主要推廣Paxos算法用于內(nèi)部分布式存儲。Paxos是Leslie Lamport提出的基于消息傳遞的一致性算法,解決了分布式存儲中多個副本響應(yīng)讀寫請求的一致性,Paxos在目前的分布式領(lǐng)域幾乎是一致性的代名詞(據(jù)傳Google Chubby的作者M(jìn)ike Burrows曾說過這個世界上只有一種一致性算法, 那就是Paxos,其他算法都是殘次品)。Paxos算法在可能宕機(jī)或網(wǎng)絡(luò)異常的分布式環(huán)境中,快速且正確地在集群內(nèi)部對某個數(shù)據(jù)的值達(dá)成一致,并且保證只要任意多數(shù)節(jié)點(diǎn)存活,都不會破壞整個系統(tǒng)的一致性。Paxos的核心能力就是多個節(jié)點(diǎn)確認(rèn)一個值,少數(shù)服從多數(shù),獲得可用性和一致性的均衡。
掃碼添加小助手
加入工程師交流群
- 分布式電源對配電系統(tǒng)的影響分析
- 分布式存儲系統(tǒng)的局部修復(fù)碼分析 19次下載
- 面向時空數(shù)據(jù)的分布式區(qū)塊鏈綜述 15次下載
- Ceph分布式存儲系統(tǒng)性能優(yōu)化研究綜述 5次下載
- 基于分布式數(shù)據(jù)Cache的實(shí)時動態(tài)遷移機(jī)制 20次下載
- 一種可行的分布式存儲系統(tǒng)安全構(gòu)造方法 21次下載
- 基于預(yù)分區(qū)策略的分布式數(shù)據(jù)存儲方法 18次下載
- 云存儲中的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次下載
- 工業(yè)機(jī)器人分布式控制系統(tǒng)實(shí)例 112次下載
- 基于IEEE1588協(xié)議的分布式系統(tǒng)時鐘同步方法
- 基于Pocket PC的分布式程序設(shè)計(jì)
- Ceph分布式存儲系統(tǒng)解析 828次閱讀
- 分布式存儲架構(gòu)面臨的挑戰(zhàn) 2.8k次閱讀
- 如何使用分布式存儲系統(tǒng)促進(jìn)AI模型訓(xùn)練 1.3k次閱讀
- 融合互通,浪潮分布式融合存儲AS13000加速海量數(shù)據(jù)處理 1.4k次閱讀
- 干貨:解決分布式緩存與數(shù)據(jù)庫的雙存儲雙寫 3.1k次閱讀
- 應(yīng)對海量圖片存儲的分布式存儲解決方案 4.3k次閱讀
- 關(guān)于騰訊的開源分布式存儲系統(tǒng)DCache 2.3k次閱讀
- 淺談分布式存儲的六大優(yōu)點(diǎn) 9.4k次閱讀
- Qtum量子鏈的分布式自治協(xié)議介紹 1.7k次閱讀
- 分布式存儲中HDFS與Ceph兩者的區(qū)別是什么,各有什么優(yōu)勢? 3.2w次閱讀
- 存儲分布式系統(tǒng)中如何從CAP轉(zhuǎn)到PACELC 3k次閱讀
- 分布式存儲運(yùn)維系統(tǒng)構(gòu)架簡析 2.9k次閱讀
- 淺談分布式塊存儲的元數(shù)據(jù)服務(wù)設(shè)計(jì) 5.4k次閱讀
- 分布式存儲集群設(shè)計(jì),集群網(wǎng)絡(luò)規(guī)劃方案 3.2k次閱讀
- 深度解讀分布式存儲技術(shù)之分布式剪枝系統(tǒng) 2.2k次閱讀
下載排行
本周
- 1MDD品牌三極管MMBT3906數(shù)據(jù)手冊
- 2.33 MB | 次下載 | 免費(fèi)
- 2MDD品牌三極管S9012數(shù)據(jù)手冊
- 2.62 MB | 次下載 | 免費(fèi)
- 3聯(lián)想flex2-14D/15D說明書
- 4.92 MB | 次下載 | 免費(fèi)
- 4收音環(huán)繞擴(kuò)音機(jī) AVR-1507手冊
- 2.50 MB | 次下載 | 免費(fèi)
- 524Pin Type-C連接器設(shè)計(jì)報告
- 1.06 MB | 次下載 | 免費(fèi)
- 6新一代網(wǎng)絡(luò)可視化(NPB 2.0)
- 3.40 MB | 次下載 | 免費(fèi)
- 7MS1000TA 超聲波測量模擬前端芯片技術(shù)手冊
- 0.60 MB | 次下載 | 免費(fèi)
- 8MS1022高精度時間測量(TDC)電路數(shù)據(jù)手冊
- 1.81 MB | 次下載 | 免費(fèi)
本月
- 1愛華AIWA HS-J202維修手冊
- 3.34 MB | 37次下載 | 免費(fèi)
- 2PC5502負(fù)載均流控制電路數(shù)據(jù)手冊
- 1.63 MB | 23次下載 | 免費(fèi)
- 3NB-IoT芯片廠商的資料說明
- 0.31 MB | 22次下載 | 1 積分
- 4H110主板CPU PWM芯片ISL95858HRZ-T核心供電電路圖資料
- 0.63 MB | 6次下載 | 1 積分
- 5UWB653Pro USB口測距通信定位模塊規(guī)格書
- 838.47 KB | 5次下載 | 免費(fèi)
- 6技嘉H110主板IT8628E_BX IO電路圖資料
- 2.61 MB | 4次下載 | 1 積分
- 7蘇泊爾DCL6907(即CHK-S007)單芯片電磁爐原理圖資料
- 0.04 MB | 4次下載 | 1 積分
- 8100W準(zhǔn)諧振反激式恒流電源電路圖資料
- 0.09 MB | 2次下載 | 1 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935137次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191439次下載 | 10 積分
- 5十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183353次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81602次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73822次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65991次下載 | 10 積分
電子發(fā)燒友App





創(chuàng)作
發(fā)文章
發(fā)帖
提問
發(fā)資料
發(fā)視頻
上傳資料賺積分
評論