Paxos、ZAB、RAFT協議


這三個都是分布式一致性協議,ZAB基於Paxos修改后用於ZOOKEEPER協議,RAFT協議出現在ZAB協議之后,與ZAB差不多,也有很大區別。

1. Paxos

分布式節點分為3種角色, Proposer, Acceptor, Learner

Proposer:提出議案[Mn, Vn]

Accptor:決定最終議案

Learner:不參與議案的提出與決定,學習最后的議案

Proposer:

  1. prepare階段:提出議案編號M, 向Acceptor集合發送

  2. 如果收到來自半數以上的Acceptor響應,向Acctoptor發送Accept請求

Acceptor:

  1. Prepare:響應proposer prepare請求

  2. Accepte: 響應Accept請求

2. ZAB協議

  節點分為3種角色1, Follower, Leader, Observer

  1. 選出leader

  2. 客戶端提出的事物都轉給Leader處理

  類似二階段協議

  1. Leader發送Propose給Fowller

  2. 收到半數以上Ack,發送Commit給Follwer

  3. Observer不參與Leader選舉,同步數據,數據副本。客戶端可以讀取Observer數據,提高Zookeeper集群工作效率


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM