当前位置:   article > 正文

ZK 选举步骤_zk的observer节点怎么确定的

zk的observer节点怎么确定的

zk 三类角色

follower:从节点,如果主节点挂了可以参与选举,可以处理所有的读请求,如果有写请求则转发给leader 节点

leader 主节点,将受到的所有写请求同步给所有的follower 节点询问,如果有超过一半同意则发送更改

observer 工作节点,可以处理读请求,如果有些请求则转发给leader 节点

主从选举

1.每个节点包含observer 节点都有 myid  就是节点id,不能重复

2.每个节点都有 maxId ,表示每个节点中最后一个数据的编号,大多数都是一样的

3.选举的时候每个节点(follower)都发送广播,将当前节点选举的结果推出去,同时收到其他的节点选举结果,然后一起计算

4.每个follower 节点收到的选举广播消息先对比 maxId 最大的一个为主,如果都一样,则再对比myid, 最大的为当选,然后再广播当前节点选举的结果,循环步骤,知道所有的follower 选举的结果一样 则 将当选的主节点 角色变更为leader

示例:

myid:1 maxId=4 leader

myid:2 maxId = 3 follower

myid:3 maxId = 4 follower

myid:4 maxId = 4 observer

如果 myid:1 主节点挂了之后 2 和3 会发送广播

第一轮广播:2 选举2 ,3 选举3 => 然后两个节点都进行计算 2节点计算结果为 3 ,3 计算结果为3

第二轮广播: 2 选举3 ,3 选举3 =》 2 节点没有后续操作,3节点判断结果为自己,则将自己的角色变更为 leader

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/506182
推荐阅读
相关标签
  

闽ICP备14008679号