ZAB协议-高端面试-原理与算法

本文深入解析ZAB协议,包括选举过程、数据恢复与同步、一致性保证。ZAB是Zookeeper实现强一致性的核心,通过选举确保最大的ZXID作为Leader,保证集群数据一致性。文中还涉及Paxos算法在数据一致性中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

zookeeper成功的地方就是使用了zab协议。

ZAB协议(ZooKeeper Atomic Broadcast原子消息广播协议)
zab协议所有事务请求必须由leader协调,首先leader发起proposal消息,大多数server同意后,然后leader发送commit消息。
zxid编号
1、低32位为计数器,客户端每次请求+1
2、高32位为epochID,每次选举新leader+1
状态和阶段
1、Looking:系统刚启动时或者Leader崩溃后正处于选举状态
2、Following:Follower节点所处的状态,Follower与Leader处于数据同步阶段
3、Leading:Leader所处状态,当前集群中有一个Leader为主进程
在这里插入图片描述
zookeeper主要分为5个阶段,选举,发现,同步,广播
选举:Looking状态中选举出Leader节点,Leader的lastZXID总是最新的
发现: Follower节点向准Leader推送FOllOWERINFO,该信息中包含了上一周期的epoch,接受准Leader的NEWLEADER指令,检查newEpoch有效性,准Leader要确保Follower的epoch与ZXID小于或等于自身的
同步:将Follower与Leader的数据进行同步,由Leader发起同步指令,最终保持集群数据的一致性
广播:Leader广播Proposal与Commit,Follower接受Proposal与Commit;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值