Zookeeper的底层算法机制(下)

Zookeeper的底层算法机制(下)

1.Zookeeper的底层算法机制

​ 前面有说过2pc算法和Paxos算法,具体见Zookeeper的底层算法机制(上)。在了解zookeeper的算法之前,先了解一下拜占庭将军问题。

2.拜占庭将军问题

拜占庭帝国有许多支军队,不同军队的将军之间必须制订一个统一的行动计划,从而做出进攻或者撤退的决定,同时,各个将军在地理上都是被分隔开来的,只能依靠军队的通讯员来进行通讯。然而,在所有的通讯员中可能会存在叛徒,这些叛徒可以任意篡改消息,从而达到欺骗将军的目的。

这就是著名的“拜占庭将军问题”。实际上拜占庭将军问题是一个分布式环境下的协议问题,拜占庭帝国军队的将军们必须全体一致的决定是否攻击某一支敌军。

拜占庭将军问题应用在分布式环境下,就是在信道不可靠当的情况下,如何就某个协议达成一致性问题。

3.zookeeper底层算法原理

Zookeeper底层的算法是基于ZAB协议的。

3.1 ZAB协议

ZAB(Zookeeper Atomic Broadcast)协议是分布式协调服务服务Zookeeper专门设计的一种支持崩溃恢复的原子广播协议,是专门为Zookeeper设计的崩溃恢复原子广播算法,是基于2pc算法。

Zookeeper的各个节点之间的通信协议是通过netty的。

3.2 协议介绍

ZAB协议包括两种基本模式,分别是:

a.消息原子广播(保证数据的一致性)

b.

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值