zookeeper 各节点数据保证是弱一致性

一致性保证:

ZooKeeeper 是一个高性能的,可扩展的服务。不管是读和写操作是被设计成快速,虽然读比写快。


这样做的原因是在读的情况下,Zookeeper 可以提供旧的数据,


反过来又是由于Zookeeper的一致性保证;


顺序一致性;


从客户端更新会按他们发送的顺序应用

原子性;

更新成功还是失败   不会有部分的结果


单系统镜像

一个客户端可以看到相同的试图 

可靠性:


一旦一个更新被应用, 它会坚持从那个时间知道一个客户端覆盖更新。

这个保证2个推论:


1.如果一个客户端成功的得到一个返回码,更新会被应用。在一些失败的情况(通讯错误,超时等) 

客户端不知道如果更新是否已经被应用。 我们采取措施尽量减少故障,


但是保证只是当前的成功的返回码(这个被称为所谓的Paxos)


2. 任何更新被客户端看到,通过读取请求或者成功的更新,永远不会被回滚当从服务器故障恢复。


时效性:

客户端试图是保证在某段时间内是最新的(在几十秒的顺序0


注意:

有些时候 开发者错误的认为另一个保证ZooKeeper 不会实际上做,这就是 

同时一致性跨客户端视图:

ZooKeeper 不强制保证在每个实例及时的,两个不同的客户端会有zk数据的一致性视图

由于 像网络延时,一个客户单可能执行一个更新在其他客户单得到改变的通知前。


考虑到两个客户端的情况,A和B 如果客户端A 设置一个 znode /a 从0变为1

然后告诉client B去读取/a,客户端B 可能读取老的值0,


依赖它连接到哪台服务器。如果是重要的Client A 和Client B  读取相同的值,

Client B应该调用sync()方法。


因此,ZooKeeper 本身不保值改变发生同步到所有的服务器
 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

scan724

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值