ZooKeeper 一致性协议 ZAB 原理分析,看下这里

ZAB协议是Zookeeper的核心,用于实现分布式一致性。它包括消息广播和崩溃恢复两个主要模式。在消息广播中,ZAB采用类似于2PC的原子广播过程,由Leader接收并复制事务到Follower,超过半数Follower响应即可提交。当Leader崩溃,ZAB进入崩溃恢复模式,通过选举新的Leader并同步数据来确保数据一致性。ZAB的事务ID(ZXID)用于确保事务顺序执行。

一致性协议有很多种,比如 Paxos,Raft,2PC,3PC等等,在这讲一种协议,ZAB 协议,该协议应该是所有一致性协议中生产环境中应用最多的了。为什么?因为它是为 Zookeeper 设计的分布式一致性协议!

1. 什么是 ZAB 协议? ZAB 协议介绍

  1. ZAB 协议全称:Zookeeper Atomic Broadcast(Zookeeper 原子广播协议)。
  2. Zookeeper 是一个为分布式应用提供高效且可靠的分布式协调服务。在解决分布式一致性方面,Zookeeper 并没有使用 Paxos ,而是采用了 ZAB 协议。
  3. ZAB 协议定义:ZAB 协议是为分布式协调服务 Zookeeper 专门设计的一种支持****崩溃恢复和原子广播协议。下面我们会重点讲这两个东西。
  4. 基于该协议,Zookeeper 实现了一种主备模式的系统架构来保持集群中各个副本之间 数据一致性。具体如下图所示:

image.png

上图显示了 Zookeeper 如何处理集群中的数据。所有客户端写入数据都是写入到 主进程(称为 Leader)中,然后,由 Leader 复制到备份进程(称为 Follower)中。从而保证数据一致性。从设计上看,和 Raft 类似。

那么复制过程又是如何的呢?

复制过程类似 2PC,ZAB 只需要 Follower 有一半以上返回 Ack 信息就可以执行提交,大大减小了同步阻塞。也提高了可用性。

简单介绍完,开始重点介绍消息广播崩溃恢复整个 Zookeeper 就是在这两个模式之间切换。 简

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值