目录
前言
在分布式场景中,zk应用非常广泛:比如发布订阅、命名服务、配置中心、注册中心、分布式锁等。
zk提供了一个类似Linux文件系统的数据模型,和基于Watcher机制的分布式事件通知,这些特性都依赖zk的高容错数据一致性协议
ZK是事务处理模式
zk通过ZAB协议保证分布式事务的最终一致性。ZAB(Zookeeper Atomic Broadcast原子广播协议)支持崩溃恢复,基于该协议zk实现了一种主备模式的系统架构来保持集群中各个副本间数据一致性

在zk集群中,所有客户端请求都是打到Leader节点,Leader节点处理完再同步到其他Follower节点。如果Follower或Leader崩溃,都会通过ZAB协议保证数据一致性。
什么是ZAB协议

Zookeeper通过ZAB协议确保分布式事务的最终一致性。在消息广播阶段,Leader节点处理请求并广播到Follower,等待反馈后决定是否Commit。崩溃恢复阶段涉及Leader选举和数据同步,保证集群数据一致。ZAB协议的Zxid用于记录事务,高32位表示epoch,低32位代表事务顺序。ZAB与Paxos的主要区别在于ZAB包含崩溃恢复机制。
最低0.47元/天 解锁文章
2383

被折叠的 条评论
为什么被折叠?



