對共識算法 Paxos、Raft 的一些理解

共識算法針對的問題

分佈式系統中,基礎的 共識算法(Consensus Algorithm) 希望解決的是如下問題:消息有亂序、丟失、重複情況下,多個分佈式節點對一個值達成最終絕對一致1

  • 不考慮消息內容的篡改(Byzantine
  • 節點存儲必須絕對可靠

爲什麼對 Paxos、Raft 等的研究很重要

傳統 2PC(兩階段提交)、3PC(三階段提交) 的缺點是這一個節點宕機則系統不可用(或存在 腦裂 問題不能解決);這些現代共識算法的目標就是在有多個副本同時參與、超半數仍正常工作的情況下(少數副本可以掛掉,從而可用性更高了)仍能保證 100% 一致性

Paxos、Multi-Paxos、Raft

Paxos 和 Raft 的前世今生 | 知乎1 這篇文章是我認爲講解的比較讓我抓住了脈絡的文章,可以參考。


  1. https://zhuanlan.zhihu.com/p/46531628 ↩︎ ↩︎

  2. http://lamport.azurewebsites.net/pubs/lamport-Paxos.pdf ↩︎

  3. http://lamport.azurewebsites.net/pubs/Paxos-simple.pdf ↩︎

  4. https://zh.wikipedia.org/wiki/Paxos%E7%AE%97%E6%B3%95 ↩︎

  5. http://oceanbase.org.cn/?p=111 ↩︎

  6. https://raft.github.io/raft.pdf ↩︎

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章