Zookeeper 中的 CAP

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

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

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

相关推荐
飞鱼&2 分钟前
Kafka(文件)数据存储、清理机制、高性能设计
分布式·kafka
_w_z_j_15 分钟前
Linux----进程控制
linux·运维·服务器
绵羊20236 小时前
单细胞转录组测序上游——cellranger
linux
herobrineAC7896 小时前
Hyperopt 强大的分布式参数优化框架全解析
分布式·其他
明达智控技术7 小时前
MR30系列分布式I/O在造型机产线的应用
分布式·物联网·自动化
Moniane7 小时前
A2A+MCP构建智能体协作生态:下一代分布式人工智能架构解析
人工智能·分布式·架构
Awkwardx9 小时前
Linux系统编程—线程同步与互斥
linux·服务器
赖small强10 小时前
[Linux]内核队列实现详解
linux·kfifo·请求队列·工作队列(workqueue)·等待队列·kfifo_init
www.0211 小时前
linux服务器升级显卡驱动(笔记)
linux·运维·服务器·笔记·ubuntu·服务器环境
wdfk_prog11 小时前
[Linux]学习笔记系列 -- [kernel][time]hrtimer
linux·笔记·学习