Paxos演算法 Zookeeper使用協議

2021-09-24 02:30:08 字數 473 閱讀 7353

paxos演算法是分布式選舉演算法,zookeeper使用的 zab協議(zookeeper原子廣播),二者有相同的地方,比如都有乙個leader,用來協調n個follower的執行;leader要等待超半數的follower做出正確反饋之後才進行提案;二者都有乙個值來代表leader的週期。

不同的地方在於:

zab用來構建高可用的分布式資料主備系統(zookeeper),paxos是用來構建分布式一致性狀態機系統。

paxos演算法、zab協議要想講清楚可不是一時半會的事兒,自2023年萊斯利·蘭伯特提出paxos演算法以來,因為晦澀難懂並沒有受到重視。後續幾年,蘭伯特通過好幾篇**對其進行更進一步地解釋,也直到06年谷歌發表了三篇**,選擇paxos作為chubby cell的一致性演算法,paxos才真正流行起來。

對於普通開發者來說,尤其是學習使用zookeeper的開發者明確一點就好:分布式zookeeper選舉leader伺服器的演算法與paxos有很深的關係。

Paxos 演算法簡介

拜占庭將軍問題 byzantine failure 是由萊斯利 蘭伯特提出的點對點通訊中的基本問題。意思就是,在存在訊息丟失的不可靠的通道上保證資訊的一致性是不可能的。所以在一般討論一致性的問題上時,比如paxos 演算法,都先假定不會存在拜占庭問題。paxos 是乙個分布式一致性演算法。主要解決的...

Paxos演算法 前世

paxos演算法是基於訊息傳遞且具有高度容錯特性的一致性演算法。我們將從乙個簡單的問題開始,逐步的改進我們的設計方案,最終得到paxos,乙個可以在逆境下工作的協議。一 客戶端 伺服器模型 我們從最小的分布式系統開始,在這個系統中,只有兩個結點,客戶端結點與服務端結點,客戶端結點能夠操作 儲存或更新...

Zookeeper與paxos演算法

一 zookeeper是什麼 官方說辭 zookeeper 分布式服務框架是apache hadoop 的乙個子專案,它主要是用來解決分布式應用中經常遇到的一些資料管理問題,如 統一命名服務 狀態同步服務 集群管理 分布式應用配置項的管理等。好抽象,我們改變一下方式,先看看它都提供了哪些功能,然後再...