阅读摘录
Raft 选举超时为什么要随机化
如果所有 follower 的选举超时时间相同,那么 leader 一挂,全部节点会在同一时刻发起选举。
结果是选票被均分,谁都不够多数,然后同时进入下一轮,永远选不出来。
随机化的作用就是把这个同步打破:每个节点在基础超时上叠加一段随机区间,最先超时的那个大概率能拿到多数票。
顺带记一句:心跳间隔必须显著小于最小选举超时,否则 follower 会频繁误判 leader 失联。
如果所有 follower 的选举超时时间相同,那么 leader 一挂,全部节点会在同一时刻发起选举。
结果是选票被均分,谁都不够多数,然后同时进入下一轮,永远选不出来。
随机化的作用就是把这个同步打破:每个节点在基础超时上叠加一段随机区间,最先超时的那个大概率能拿到多数票。
顺带记一句:心跳间隔必须显著小于最小选举超时,否则 follower 会频繁误判 leader 失联。