Zookeeper选举(fastleaderelection算法)
2024-09-22 22:12:56
1、选举相关概念:
选票:(myid,zxid,当前节点选取轮次,被推举服务器选举轮次,状态(looking))。
选举发生情况:启动时选举,运行时选举。
外部投票:其他服务器发送来的投票。
内部投票:服务器自身当前的投票。
选举轮次:epoch--leader选举周期。
pk:比较内部选票和外部选票,确定是否变更内部选票,主要是比较zxid和myid。
2、选举过程:
(1)每个服务器节点先初始化自己的选票,即(myid,zxid,当前节点选取轮次,被推举服务器选举轮次,状态(looking))。
(2)发送初始化选票到所有集群中的节点。
(3)接收外部选票
(4)判断选举轮次,内部选票选举轮次要是大于外部选票,就继续接收外部选票,如果小于等于外部的选举轮次,就进行选票pk,即判断自己是否要变更内部选票。
(5)变更内部选票,将选票发送至集群中。
(6)归档。每个节点将收到的所有外部选票进行归档。
(7)统计。判断是否有过半的服务器认可当前内部选票,如果是,那就选举结束,即超过一半选票同意新leader,那就成功。
最新文章
- uva10160 Servicing Stations
- Linux X Window System运行原理和启动过程
- asp.net读取txt并导入数据库
- MySQL 的 read_buffer_size 参数是如何影响写缓冲和写性能的?
- DataTable 修改列名 删除列 调整列顺序
- duilib 新增数据迁移界面
- AJAX请求方式
- Web API 方法的返回类型、格式器、过滤器
- 9.7 dubbo心跳机制
- GitHub教程手册、使用流程
- 利用windows的计划任务和eKing.CmdReadFileAndSendEmailOper(控制台小程序)实现远程登录服务器的邮件告警提醒
- @interface注释用法
- Egret入门了解
- day4之装饰器进阶、生成器迭代器
- Back Track 5 之 网络踩点
- 【转】排名前十位的Linux发行版介绍
- Android 图片旋转
- python 旧类中使用property特性的方法
- 记录-Jquery uploadify文件上传实例
- Brotli