Nacos—— Raft 如何心跳保持
時間 2021-07-13
標籤
註冊中心
Nacos
配置中心
raft的一個基本邏輯是leader隔一段時間給所有的follower發心跳。如果follower長時間沒收到心跳,就認爲leader已經掛了,就發起投票選舉新的leader。
在RaftCore的init方法裏面
HeartBeat 就是leader的心跳定時任務
MasterElection 就是follower長時間沒收到心跳就選舉的定時任務
HeartBeat的sendBeat就是具體發送心跳信息了
follower收到心跳請求的時候
receivedBeat 方法會執行 resetLeaderDue();
follower就是根據這個變量判斷是否要重新選leader的。
這樣就全部串起來了