Zookeeper读写机制、保证、Watcher

Zookeeper读写机制

非事务请求为读,事务请求为写。 

每个server保存一份数据副本,就是每个server都会有自己的一份数据副本,每个数据副本的内容都是统一的,在更改数据副本时,超过一半的server成功更改后,就认为是更改成功了。

Zookeeper保证机制

更新请求顺序进行,来自同一个client的更新请求按其发送顺序依次执行。因为Leader会为每个server提供一个队列,请求会进入队列,实行先进先出的策略,然后排队依次进行处理。

因为每个server都保存一份数据副本,而且每个server的数据副本内容是一致的,所以client无论连接到哪个server,数据视图都是一致的。

实时性,在一定范围内,client能读到最新数据。为什么是一定范围内呢?因为这里涉及到过半提交的策略,超过一半的server更新成功Leader就认为更新成功。(Paxos算法)

Watcher------数据变更的通知 

比如,创建一个根节点root,在root下创建10个ZNode子节点,如果在根节点root上创建一个子节点变更的Watcher监听的话,如果我删除了某个子节点的话,比如删除Znode1,那么就说明子节点发生了变化,那么客户端就会在下一次心跳的时候,获得这个感知来执行客户端的操作,比如分布式锁、分布式队列等,都可以通过监听机制来实现。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值