一致性協議(Consensus Algorithm)
1、多數派
2、兩階段Accept
第一階段:Propose階段。Proposers向Acceptors發出Propose請求, Acceptors針對收到的Propose請求進行Promise承諾
第二階段:Accept階段。收到多數派Acceptors承諾的Proposer,向 Acceptors發出Accept請求,Acceptors針對收到的Accept請求進行接收 處理
第三階段(可最佳化):Commit階段。發出Accept請求的Proposer,在收 到多數派Acceptors的接收之後,標誌著本次Accept成功。向所有 Acceptors追加Commit訊息
--------------------------------
經典Paxos
特點:一次例項需要兩階段訊息達成(一階段搶leader、二階段選定值);
訊息數:2f+1個節點一次例項需要(2f+1) *2*2+2次訊息通訊
缺點:With multiple concurrent proposers, conflicts and restarts are likely (higher load → more conflicts),效能低、活鎖可能
Paxos協議族介紹
Paxos演算法的變種不是非此即彼的關係,在不衝突的情況下,可以組合使用
Multi-Paxos
特點:一個Leader執行多次例項;(先經典,然後租約維持)
訊息數:2f+1個節點一次例項需要(2f+1) *2+2次訊息通訊
Raft
Paxos的一種簡化:有主、日誌單向複製
透過投票選取主節點leader(任期、心跳,超半數、日誌長度)
叢集以Leader的日誌為準,複製到其他節點,其他節點無條件跟隨
透過日誌連續無空洞確保叢集日誌的一致性
超半數的節點接收到的日誌可提交應用
已提交的日誌不會丟失
在2N+1個節點叢集中,最多容忍N個節點失效
協議對比
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69990629/viewspace-2893473/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Raft論文《 In Search of an Understandable Consensus Algorithm (Extended Version) 》研讀RaftGo
- 快取一致性協議(MESI協議)快取協議
- 一致性協議協議
- Paxos 一致性協議協議
- 快取一致性協議快取協議
- Zookeeper一致性協議——ZAB協議
- zookeeper的一致性協議:Zab協議
- 分散式系統一致性協議分散式協議
- CAP一致性協議及應用解析協議
- 一致性協議之三階段提交協議
- 分散式一致性協議Raft全面詳解(建議收藏)分散式協議Raft
- ZooKeeper一致性協議ZAB學習筆記協議筆記
- 分散式應用中的一致性協議分散式協議
- mesi--cpu記憶體一致性協議記憶體協議
- Paxos、Raft不是一致性演算法/協議?Raft演算法協議
- 分散式理論(六) - 一致性協議Raft分散式協議Raft
- 使用GO實現Paxos分散式一致性協議Go分散式協議
- 分散式一致性協議Raft原理與例項分散式協議Raft
- 【網路協議】IP協議、ARP協議、RARP協議協議
- RTSP協議、RTMP協議、HTTP協議的區別協議HTTP
- 一致性協議淺析:從邏輯時鐘到Raft協議Raft
- 【網路協議】UDP協議協議UDP
- Gossip協議也叫Epidemic協議(流行病協議)Go協議IDE
- 分散式一致性協議之2PC和3PC分散式協議
- CPU快取一致性協議MESI,memory barrier和java volatile快取協議Java
- 【譯】WebSocket協議第二章——一致性要求(Conformance Requirements)Web協議ORMUIREM
- 一文看盡 Raft 一致性協議的關鍵點Raft協議
- IP協議(網路層協議)協議
- 協議協議
- 頁面連結跳轉--指定協議,半協議,無協議協議
- 【網路協議】TCP協議簡介協議TCP
- 路由協議與閘道器協議路由協議
- 快取記憶體一致性協議MESI與記憶體屏障快取記憶體協議
- 基於學習的快取一致性協議帶參驗證快取協議
- 淺談WebSocket協議、WS協議和WSS協議原理及關係Web協議
- 二進位制協議 VS 文字協議協議
- 生成樹協議與多生成樹協議協議
- 匯流排協議系列——USART協議初探協議