Zookeeper ZAB协议

Zookeeper Automic Broadcast(ZAB),是paxos经典实现。

ZAB(zookeeper)中节点分四个状态:

1.looking:选举leader的状态(崩溃下恢复)

2.follwing:跟随者(follower)的状态,服从leader的命令

3.leading:当前节点是Leader,负责协调工作

4.observing:observer(观察者),不参与选举,只读节点;

ZBA中的两种模式:崩溃恢复,消息广播;

崩溃恢复阶段,在恢复阶段没个server,既是提交者,又是批准者;

1.每个没有崩溃的server都有一张选票,投给自己

2.搜集各个服务器的投票

3.比较投票,比较逻辑:优先比较事务Id(取最大的),然后比较leader的周期id(如果事务Id相同再比较周期Id,取最大);

4.改变服务器的状态(崩溃恢复==>数据同步,或者崩溃恢复===》消息广播)

在查看节点信息时 有Zxid(64位数据结构)属性,他是有周期ID和事务Id组成;前32位是Leader的周期Id(myId),后32位表示事务的自增序列(单调递增序列),只要客户段请求,后32位就会加一递增;

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值