Zookeeper 中的 CAP

一致性 C: Zookeeper 是强一致性系统,为了保证较强的可用性,"一半以上成功即成功"的数据同步方式可能会导致部分节点的数据不一致。所以 Zookeeper 还提供了 sync() 操作来做所有节点的数据同步,这就关于 C 和 A 的选择问题交给了用户,因为使用 sync()势必会延长同步时间,可用性会有一些损失。

可用性 A: Zookeeper 数据存储在内存中,且各个节点都可以相应读请求,具有好的响应性能。Zookeeper 保证了数据总是可用的,没有锁。并且有一大半的节点所拥有的数据是最新的。

分区容忍性 P: Follower 节点过多会导致增大数据同步的延时(需要半数以上 follower 写完提交)。同时选举过程的收敛速度会变慢,可用性降低。Zookeeper 通过引入 observer 节点缓解了这个问题,增加 observer 节点后集群可接受 client 请求的节点多了,而且 observer 不参与投票,可以提高可用性和扩展性,但是节点多数据同步总归是个问题,所以一致性会有所降低。

相关推荐
幼稚园的山代王30 分钟前
RabbitMQ 4.1.1初体验-队列和交换机
分布式·rabbitmq·ruby
CodeWithMe1 小时前
【Note】《深入理解Linux内核》 Chapter 15 :深入理解 Linux 页缓存
linux·spring·缓存
0wioiw01 小时前
Ubuntu基础(监控重启和查找程序)
linux·服务器·ubuntu
小新学习屋1 小时前
Spark从入门到熟悉(篇三)
大数据·分布式·spark
Tipriest_1 小时前
Ubuntu常用的软件格式deb, rpm, dmg, AppImage等打包及使用方法
linux·运维·ubuntu
胡斌附体2 小时前
linux测试端口是否可被外部访问
linux·运维·服务器·python·测试·端口测试·临时服务器
愚润求学2 小时前
【Linux】自旋锁和读写锁
linux·运维
大锦终2 小时前
【Linux】常用基本指令
linux·运维·服务器·centos
IT项目管理2 小时前
达梦数据库DMHS介绍及安装部署
linux·数据库
知北游天3 小时前
Linux:多线程---深入互斥&&浅谈同步
linux·运维·服务器