Java 后端面试题库 / 全部题解免费阅读理解原理,有条理地回答

ZooKeeper 怎么选出 Leader?

先说出你的答案

定义边界、关键机制、一个反例;P8题再补容量、失败与验证。

查看完整题解

参考回答

直接回答

默认集群里,投票成员互相发送选举通知,收到更合适的候选人就更新自己的票。等同一轮有足够多成员支持同一候选人,并满足结束条件,选举才收尾。

讲清原理

比候选顺序先看 peer epoch,再看最近记录的 zxid,最后用服务器 ID 打破平局。选出候选 Leader 后还要完成与法定数量成员的恢复和同步,才能正常提出新的事务。

例子与易错点

两台候选的 epoch 和 zxid 都一样,较大的服务器 ID 胜出。双方 peer epoch 相同但日志位置不同时,优先选日志位置较新的服务器。

延伸阅读 ZooKeeper 选举中的五元组分别是什么? · ZooKeeper 的完整选举和接管过程是什么?

这道题,你掌握得怎么样?

掌握程度由你主动标记,阅读和收藏不会自动改变状态。