论文标题
逃避防止领导者失败的预防措施
ESCAPE to Precaution against Leader Failures
论文作者
论文摘要
基于领导者的共识协议必须经历视角变化阶段,以选举现任领导者失败时选择新的领导者。新领导者通常会决定从法定人数的服务器中收集投票的候选服务器。但是,基于投票的选举机制本质上会导致领导候选人的竞争,而每位候选人仅收集部分投票。这种分裂投票的情况可能不会导致领导冠军,并延长了不希望的观看时期。在本文中,我们调查了Raft领导人选举机制的案例研究,并提出了一种名为Escape的新领导者选举方案,该方案从根本上通过基于其对数响应能力对服务器进行优先级来解决分裂投票。 Escape通过RAFT的定期心跳来动态分配服务器,该配置提供了不同的优先级。在每个分配中,Escape都会跟踪服务器日志响应能力,并分配倾向于赢得选举的配置,以便为更多的最新服务器赢得选举,从而准备优先的候选人。因此,当下次选举举行时,优先最高的候选人将击败其同行,并成为下一个没有竞争的领导人。评估结果表明,逃脱会逐渐减少集群扩展时的领导者选举时间,并且在消息丢失下,改进变得更加显着。
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.