Zookeeper 中的 CAP

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

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

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

相关推荐
玉树临风江流儿5 分钟前
WSL2通过主机转发流量,实现与开发板互相ping通
linux·服务器·网络
感觉不怎么会6 分钟前
Android 13 - 对讲app后台休眠后无法录音
android·linux
程序 代码狂人7 分钟前
CentOS7中有趣的yum源(彩蛋)-----第二期
linux·运维·服务器
Y‍waiX‍‍‮‪‎⁠‌‫‎‌‫‬11 分钟前
CentOS7(Linux)从系统安装到环境搭建
linux·运维·服务器
若风的雨1 小时前
【 ARMv8多核处理器启动方案设计】
linux·arm开发
组合缺一1 小时前
论 AI Skills 分布式发展的必然性:从单体智能到“云端大脑”的跃迁
java·人工智能·分布式·llm·mcp·skills
皓月盈江1 小时前
MoonBit国产编程语言创建新包和使用新包
linux·moonbit·国产编程语言·moonbit教程·moonbit创建包·moonbit使用包
小白郭莫搞科技1 小时前
鸿蒙跨端框架Flutter学习:ListView卡片样式详解
linux·服务器·windows
栈低来信1 小时前
Linux设备模型
linux
晚风吹长发2 小时前
初步了解Linux中的信号捕捉
linux·运维·服务器·c++·算法·进程·x信号