分布式共識演算法 Raft詳解

2021-09-10 02:07:06 字數 582 閱讀 3634

拜占庭將軍問題是分布式領域最複雜、最嚴格的容錯模型。但在日

常工作中使用的分布式系統面對的問題不會那麼複雜,更多的是因

為計算機故障宕機,或者網路通訊問題而沒法傳遞資訊,這種情況

不考慮計算機之間互相傳送惡意資訊,極大簡化了系統對容錯的要

求,最主要的是達到一致性。

假設將軍中沒有叛軍,信使的資訊可靠但有可能被暗殺的情況下,

將軍們如何達成一致性決定?

第乙個被證明的共識演算法是 paxos,由拜占庭將軍問題的作者 leslie

lamport 在2023年提出,最初以**難懂而出名,後來在2001重發了

一篇簡單版的** paxos made ******,然而還是很難懂。

raft是斯坦福的diego ongaro、john ousterhout在2023年發布的**《in

search of an understandable consensus algorithm》中提出的演算法;

從2023年發布到現在到現在已經有了十多種語言的raft演算法實現框架,如

etcd,google的kubernetes也是用了etcd。

閒聊分布式共識演算法raft 2

本文主要簡單聊聊分布式共識演算法raft在發生網路分割槽的時候如何保持最終一致性。如果有對raft基礎不清楚,或者對日誌複製和首領選舉有疑問可以參看之前的文章.raft 共識演算法 1 首先我們看乙個狀態就是沒有網路分割槽的情況。圖中我們可以觀察到的情況就是綠色的client和藍色的服務端節點之間網...

分布式 Raft演算法

raft也是分布式一致性協議,主要是用來競選主節點。有三種節點 follower,candidate和leader。leader會週期性的傳送心跳給follower。每個follower都設定了乙個隨機的競選超時時間,一般為150ms 300ms,如果在這個時間內沒有收到leader的心跳包,就會變...

RAFT 區塊鏈中分布式共識協議

即便如此paxos演算法還是沒有得到重視,2001年lamport 覺得同行無法接受他的幽默感,於是用容易接受的方法重新表述了一遍 paxos made 可見lamport對paxos演算法情有獨鍾。近幾年paxos演算法的普遍使用也證明它在分布式一致性演算法中的重要地位。2006年google的三...