Nacos—— Raft 如何心跳保持

raft的一個基本邏輯是leader隔一段時間給所有的follower發心跳。如果follower長時間沒收到心跳,就認爲leader已經掛了,就發起投票選舉新的leader。

在RaftCore的init方法裏面

HeartBeat 就是leader的心跳定時任務

MasterElection 就是follower長時間沒收到心跳就選舉的定時任務


HeartBeat的sendBeat就是具體發送心跳信息了


follower收到心跳請求的時候

receivedBeat 方法會執行 resetLeaderDue();

follower就是根據這個變量判斷是否要重新選leader的。

這樣就全部串起來了