Zookeeper工作机制

1:Zookeeper
zookeeper是一个分布式协调服务,为用户的分布式应用程序提供协调服务
zookeeper是为别的分布式程序服务的
zookeeper本身也是一个分布式程序
功能:
1:为用户提供数据的注册,查询功能
2:为用户提供注册监听功能
3,为用户保持心跳以动态感知用户的状态
2:选举机制
Leader:
zookeeper集群的工作核心。
集群内部所有服务的调度者
Follower:
处理客户端非事务请求,转发事务请求给Leader;
参与集群的选举投票。
如果访问量比较大的zookeeper集群,还可以新增观察者角色
Observer:
观察者角色,观察zookeeper集群的最新状态变化并将这些状态同步,其对于非事务请求可以进行独立处理,对于事物请求会转发给leader
zookeeper服务器有四种状态分别是

Looking,寻找Leader状态,处于该状态需要进入选举流程
Followering,跟随者状态,表示leader已经选举出来,当前节点是follower
Leading,领导者状态,处于该状态的节点说明已经是leader
Observering:表示现在是观察者

zookeeper工作选举机制:
原则上:
默认半数以上的机器同意,当前的节点就是leader
默认半数以上的机器存活,zookeeper集群就能对外提供服务
过程:
举例:有三台集群
启动第一台:looking follower
启动第二台 : leader
启动第三台: follower

当访问node1时,这是由于只有一个节点,所以没有follower和leader
访问node2时它会先比较node1和node2的version,选择version新的作为leader
version一样,再比较逻辑时钟,时钟大的为leader
如果逻辑时钟一致,再比较ID,ID大的为leader
如果version新,但是逻辑时钟小,先同步逻辑时钟,再重新选举,这时根据id,id大的是leader

所以因为zookeeper中一共三个节点,所以当访问node3时,node2已经有2票,node3的票数不会比他大,所以不再比较,直接将node3定位follower

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值