把節點分兩種,Leader(主)和Follower(從)。 有一個主節點,全部寫操做所有經過節點進行處理,若是一個從節點收到了一個寫操做請求,就會轉給主節點處理。 其餘節點都是從節點,能夠經過從節點進行讀操做。 主節點經過選舉得出,主節點失蹤後,其餘從節點自動開始選舉新的主節點。html
Raft將一致性的問題分解爲了三個問題:git
Gossip協議如其名,流行病協議,一個節點有狀態須要更新到網絡的其它節點的時候,它會隨機的選擇周圍的幾個節點散播消息,收到消息的節點會重複這個過程,直到網絡中全部的節點都收到了消息。這個過程須要必定的時間,消息之間的傳遞具備必定的延遲性。可是理論上全部的節點都會收到全部的消息,所以它是一個最終一致性消息。github
Lease 是由頒發者授予的在某一有效期內的承諾。頒發者一旦發 出 lease,則不管接受方是否收到,也不管後續接收方處於何種狀態,只要 lease 不過時,頒發者一 定嚴守承諾;另外一方面,接收方在 lease 的有效期內可使用頒發者的承諾,但一旦 lease 過時,接 收方必定不能繼續使用頒發者的承諾。redis
我對這些分佈式協議目前瞭解的還不夠透徹,後面再進行研究算法