首页 > 解决方案 > 在崩溃恢复后,raft 节点如何知道自己已投票?

问题描述

如果 raft 节点投票给了某个候选人,然后在它可以持久化投票信息之前就崩溃了,服务器重启后是否有重新投票的能力?

标签: raft

解决方案


这应该起作用的方式是在发送投票之前先保留投票。

在最坏的情况下,当候选人没有获得足够的选票时(由于在坚持后立即发生多次崩溃或通过网络发送选票时丢失),只需重新开始选举。

请注意 raft 论文中突出显示的文本:https ://raft.github.io/raft.pdf

在此处输入图像描述

这可以通过https://raft.github.io/可视化来确认:

在此处输入图像描述

在此处输入图像描述


推荐阅读