Leader-based consensus protocols must undergo a view-change phase to elect a new leader when the current leader fails. The new leader is often decided upon a candidate server that collects votes from a quorum of servers. However, voting-based election mechanisms intrinsically cause competition in leadership candidacy when each candidate collects only partial votes. This split-vote scenario can result in no leadership winner and prolong the undesired view-change period. In this paper, we investigate a case study of Raft's leader election mechanism and propose a new leader election protocol, called ESCAPE, that fundamentally solves split votes by prioritizing servers based on their log responsiveness. ESCAPE dynamically assigns servers with a configuration that offers different priorities through Raft's periodic heartbeat. In each assignment, ESCAPE keeps track of server log responsiveness and assigns configurations that are inclined to win an election to more up-to-date servers, thereby preparing a pool of prioritized candidates. Consequently, when the next election takes place, the candidate with the highest priority will defeat its counterparts and becomes the next leader without competition. The evaluation results show that ESCAPE progressively reduces the leader election time when the cluster scales up, and the improvement becomes more significant under message loss.
翻译:以领导人为基础的共识协议必须经过一个改变观点的阶段, 以便在现任领导人失败时选出新领导人。 新领导人通常由从服务器的法定人数中收集选票的候选人服务器来决定。 但是, 以投票为基础的选举机制必然在每位候选人只收集部分选票时导致领导候选人的竞争。 这种分裂投票的情景可能导致没有领导赢家,延长不理想的改变观点期。 在本文中, 我们调查对拉夫特领导人选举机制的案例研究, 并提出一个新的领导人选举程序, 称为ESCAE, 从根本上通过根据服务器的日志响应性确定服务器的优先次序来解决分歧。 ESCAE 动态地指派服务器配置, 其配置通过拉夫特的定期心跳提供不同优先的配置。 在每次任务中, ESCAPE 都跟踪服务器记录响应性和配置, 并分配倾向于赢得更现代化的服务器选举的配置, 从而建立一批优先候选人。 因此, 在下次选举进行时, 最优先的候选人将击败对手, 并成为下一个没有竞争的领袖。 评价结果显示, 亚太经社会选举结果显示, 当集群规模扩大后, 将逐渐减少领导人的选举时间, 。