栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

Zookeeper的ZAB协议

Zookeeper的ZAB协议

1、什么是ZAB协议

ZAB(Zookeeper Atomic Broadcast)协议是Zookeeper为分布式协调服务专门设计的一种支持容错、崩溃、恢复的原子广播协议,这个协议解决了Zookeeper的崩溃恢复和主从数据同步的问题

2、崩溃恢复时的Leader选举



崩溃恢复的关键

Leader建立完后,Leader周期性地不断向Follower发送心跳(ping命令,没有内容的socket)
当Leader崩溃后,Follower发现Socket通道已经关闭,于是Follwer开始进入到Looking,重新回到Leader选举过程,此时集群不能对外提供服务

3、主从数据同步

Zookeeper集群数据同步的核心是原子广播,

  • 来自Client(客户端)的读请求,直接由对应Server的本地副本进行服务
  • 来自Client的写请求,Follower会把请求转给Leader处理,因为Zookeeper需要保证每台Server的本地副本是一致性的

1)AB协议需要确保那些已经在Leader服务器上提交的事务最终被所有的服务器都提交

2)ZAB协议需要确保丢弃只在Leader上被提出而没有被提交的事务


数据同步的过程:
1)Zookeeper follower Servce收到Client的写的请求

2)转发给Leader处理

3)Leader节点先将更新持久化到本地

4)然后将此次更新提议给Follower

5)Follower节点接收请求,成功将修改持久化到本地,发送一个ACK给Leader

6)Leader接收到半数以上的ACK时,Leader将广播commit消息并在本地提交信息

7)当收到Leader发来的commit消息时,Follower也会提交该信息

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/663575.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号