摘要
在传统Raft选举Leader过程中,每个节点都有可能成为Leader。但也会引发选举冲突,从而进行多轮选举;一些性能较低的节点也可能成为Leader,很快再次下线触发新的选举。这些行为会让选举的效率大大降低。我们可以事先指定一批性能较高的服务器做为Leader的备选节点,按照优先级别进行排序。在某个Follower连接不上leader的时候,可以按照备选Leader节点 的优先级别排序进行询问看是否可以连接。备选Leader节点如果收到n/2+1的询问时,就可以升级为leader。如果leader发现自身连接少于n/2+1可以降为Follower。事先指定备选Leader可以在选举leader的过程中减少选举冲突,提高选举效率,增加系统稳定性。