zookeeper的理解

zookeeper中的角色:

1:领导者(leader)

      负责进行投票的发起和决议,更新系统状态

2:学习者

     ①跟随者:Follower:接受客户端的请求并向客户端返回结果,在选举过程中参与投票

     ②观察者:Observer:接受客户端的请求并像客户端返回结果,在选举过程中不参与投票。设置观察者的目的为了扩展系统,提高读取效率

3:客户端

      请求调用方。

zookeeper中每个server在工作中的三种状态

(1)LOOKING:当前Server不知道leader是谁,正在搜寻。

(2)LEADING:当前Server即为选举出来的leader。

(3)FOLLOWING:leader已经选举出来,当前Server与之同步。

zookeeper的watch机制实现原理

zookeeper的watch机制,也就是发布订阅模式,采用一种推拉组合的方式设计实现。服务器一旦感知到主题的变化,会“推”事件类型和节点信息给订阅的客户端,但并不包括具体的变更内容,因此这个事件本身是轻量的。客户端收到事件后,会主动像服务器“拉”取变更的数据。

zab协议

Zab协议 的全称是 Zookeeper Atomic Broadcast (Zookeeper原子广播)。
Zookeeper 是通过 Zab 协议来保证分布式事务的最终一致性

Zookeeper 客户端会随机的链接到 zookeeper 集群中的一个节点,如果是读请求,就直接从当前节点中读取数据;如果是写请求,那么节点就会向 Leader 提交事务,Leader 接收到事务提交,会广播该事务,只要超过半数节点写入成功,该事务就会被提交。

Zab 协议的特性
1)Zab 协议需要确保那些已经在 Leader 服务器上提交(Commit)的事务最终被所有的服务器提交
2)Zab 协议需要确保丢弃那些只在 Leader 上被提出而没有被提交的事务

 

 

参考博客 https://blog.csdn.net/gs80140/article/details/51496925

zookeeper watch机制:https://blog.csdn.net/z69183787/article/details/53023578

zab协议:https://www.jianshu.com/p/2bceacd60b8a

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值