raft 選舉leader 疑問 ?

時間 2021-06-01 20:41:52

1樓:

嚴格來說,後當選的leader的term可以小於先當選的leader的term,但是,這個小term的leader無法replicate任何log entry

2樓:原子筆

可以把term, vote_result視為狀態機日誌序列之外的另外乙個「容災日誌」序列(term表示容災日誌index, vote_result表示容災日誌內容),只是對這個容災日誌序列的更新任何人都可以發起而不再僅限leader。此時你就明白vote和RAFT裡的狀態機複製rpc沒有太多區別(除了不記錄vote_result序列而只記錄了當前一次vote_result,這導致了選舉中會又類似paxos的活鎖危險但這是為了避免死鎖而必不可少的:因為在無主狀態下這個序列不會有人去清除那些達不到半數的vote_result,如果3副本3人都發起了一次選舉並失敗,那麼接下來的選舉如果要基於已有的vote_result序列來達成共識必然沒有人能勝選),選舉時的term等價於狀態機複製某個日誌追加時的日誌index,當然不同次選舉就需要不同的term的咯。

事實上在選舉過程中,term 和狀態機日誌序列二元組合構成乙個lamport時間戳,偏序關係定義在投贊成票的規則中:a

Raft選舉是乙個不會持久化paxos決議過程,raft的candidate是paxos的「proposer」,candidate的term 和狀態機日誌序列組合構成了paxos的「提案號」(如何比較2個「提案號」的大小上一段已經說了),選舉出了領導人就宣告本次paxos提案達成quorum(多數)。Raft選舉是乙個分布式決議「快取」,用這1次活鎖風險代替了paxos每次決議都可能發生的活鎖風險。

3樓:Learner

If an acceptor receives a prepare request with number ngreater(劃重點) than that of any prepare request to which it has already responded, then it responds to the request with a promise not to accept any more proposals numbered less than n and with the highest-numbered pro- posal (if any) that it has accepted.

鋼鐵俠和美國隊長誰更適合做團隊 leader?

惟零落兮恐遲暮 我喜歡鋼鐵俠勝過美隊,但是團隊領袖的話,還得是美國隊長,為什麼呢?第一,自我犧牲精神。二戰時期美國隊長就一直想參戰,奈何當時身體條件太次,好幾次都選不上,後來還是醫生給他做了實驗,讓他有了超乎常人的體魄,以至於讓他更好的發揮自己的品質。還記得當時教官看不上他,想讓另乙個訓練成績優秀的...

kafka的一致性為啥不替換成raft?

Lancer 在2.8中可以切換到KRaft模式,這裡Quorum controller使用的KRaft協議,詳情可以看下面的鏈結。 Augustus Fengh 記得 RocketMQ 底層用了 DLedger,就是用 Raft 同步日誌 只是沒有 commit 到狀態機而已 所以把 Raft 用...

香港舉行完善選舉制度後首次立法會選舉,有哪些資訊值得關注?

小兔 籽油皿煮在港台是一種宗教信仰,投票自然也是一種宗教儀式。這次選舉是剔除了香港人的宗教需求後的選舉,只體現了老百姓對政治的訴求。也正如結果所示 拋開宗教需求,香港老百姓對政治的訴求只有30 的投票率,換言之,香港百姓根本就不關心政治。所以,下次再有什麼皿煮大遊行,求求各位不要再洗地了,不要強行自...