Zookeeper 分布式一致性协议--ZAB协议

ZAB协议
ZAB(Zookeeper Atomic Broadcast) 协议是为分布式协调服务Zookeeper专门设计的一种支持崩溃恢复的原子广播协议。在Zookeeper中,主要依赖ZAB协议来实现分布式数据一致性,基于该协议,Zookeeper实现了一种主备模式的系统架构来保持集群中各个副本之间的数据一致性

过程:
1)leader接收到消息请求后,将消息赋予一个全局唯一的64位自增id,叫:zxid,通过zxid的大小比较就可以实现因果有序这个特征。
2)leader为每个follower准备了一个FIFO队列(通过TCP协议来实现,以实现全局有序这一个特点)将带有zxid的消息作为一个提案(proposal)分发给所有的 follower。
3)当follower接收到proposal,先把proposal写到磁盘,写入成功以后再向leader回复一个ack。
4)当leader接收到合法数量(超过半数节点)的ack后,leader就会向这些follower发送commit命令,同时会在本地执行该消息。
5)当follower收到消息的commit命令以后,会提交该消息。

节选自:
————————————————
版权声明:本文为CSDN博主「云哥Y」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/fu123123fu/article/details/81208847

你可能感兴趣的:(Hadoop,zookeeper)