zookeeper选举机制
2022/2/14 23:22:51
本文主要是介绍zookeeper选举机制,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
zk选举机制
sid:服务器id,用来唯一标识一台zookeeper集群中的机器,每台机器不能重复,和myid一致。
zxid:事务id,zxid是一个事务id,用来标识一次服务器状态的变更。在某一时刻,集群中的每台机器的zxid值不一定完全一致,这和zookeeper服务器对于客户端更新请求,的处理逻辑有关。
epoch:每个leader任期的代号,没有leader时同一轮投票过程中的逻辑时钟值是相同的,每投完一次票这个数据就会增加。
1.服务1启动,发起一次选举,服务器1自己投自己一票,此时服务器1票数一票,不够半数以上3票,选举无法完成,服务器1状态保持为looking。
2.服务器2启动,再发起一次选举,服务器1和2分别投自己一票并交换选举信息,此时服务器1发现服务器2的myid比自己目前投票推举的(服务器1)大,更改选票为推举服务器2,此时服务器1票数0票,服务器2票2票,没有半数以上结果,选举无法完成,服务器1,2状态保持looking。
3.服务器3启动,发起一次选举,此时服务器1和2都会更改选举票为服务器3,此时投票结果:
服务器1为0票,服务器2为0票,服务器3为3票,服务器3票数过半,当选leader,服务器1,2更改状态为following,服务器3为leading。
4.服务器4启动,发起一次选举,此时服务器123已经不是looking状态,不会更改选举信息,交换选票信息结果,服务器3为3票,服务器4为1票,此时服务器4服从多数,更改选举票为服务器3,并更改状态为following。
服务器5启动,同4一样当小弟。
这篇关于zookeeper选举机制的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南