Zookeeper - 强一致性系统

zookeeper的分布式锁原理概述

zookeeper 由它的数据结构(Znode),操作原语 和watcher 构成,提供了分布式锁的功能,基于这个基本的功能还发展了服务发现(劣势),配置维护,分布式消息队列等功能。
我们可以简单的把他理解成一个key:value存储系统,将分布式环境的一致性集中在zookeeper中。单个的zookeeper存在单点故障的问题,所以zookeeper需要集群。集群后,zookeeper就需要维护集群的一致性问题,即每个节点的数据需要同步。zookeeper通过zab协议来维持集群的数据的同步,从而来实现分布式锁。

zookeeper的核心思想与读写机制

zookeeper的核心思想是使用非锁机制,提供wait free(无等待并发级别)的读写。不加互斥的锁,而是通过版本控制。
集群中zookeeper通过全局串行化写操作和保证同个客户端的操作FIFO来保证一致性
当写请求到达任意集群中的follwer时,会转发给leader,leader再执行广播,当超过一半follwer持久化到硬盘。leader才返回成功.
因为上面所描述的强一致性,显然读任意一个节点都是没有问题的。

作为服务发现zookeeper的劣势

在CAP原理的条件下,当集群出现了分区,即部分节点网络不通了,那么这部分“健康”的节点就没有用了。也就是选择C,放弃了A。这是zookeeper强一致性的表现,但是服务发现的可用性更重要。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值