區塊鏈知識系列 - Raft 共識

beluga發表於2020-09-16

Raft演算法由史丹佛大學的Diego Ongaro和John Ousterhout於2014年在論文《In Search of anUnderstandable Consensus Algorithm》中提出。Raft演算法面向對多個決策達成一致的問題,分解了Leader選舉、日誌複製和安全方面的考慮,並透過約束減少了不確定性的狀態空間。

典型的過程包括以下兩個主要階段:

  • Leader選舉:開始所有節點都是Follower,在隨機超時發生後未收到來自Leader或Candidate訊息,則轉變角色為Candidate,提出選舉請求。最近選舉階段(Term)中得票超過一半者被選為Leader;如果未選出,隨機超時後進入新的階段重試。Leader負責從客戶端接收log,並分發到其他節點;
  • 同步日誌:Leader會找到系統中日誌最新的記錄,並強制所有的Follower來重新整理到這個記錄,資料的同步是單向的。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69981976/viewspace-2721743/,如需轉載,請註明出處,否則將追究法律責任。

相關文章