Zookeeper 中的 CAP

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

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

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

相关推荐
w01_02_035 分钟前
linux, 桌面, 自启动。
linux·运维·服务器
从零开始的嵌入式之旅29 分钟前
day36
linux·c语言·经验分享·笔记·嵌入式硬件
吴声子夜歌1 小时前
Linux命令——查找文件
linux·运维·学习
mounter6251 小时前
Linux 内核 binfmt_misc 深度全景解析:历史、架构、安全
linux·安全·linux kernel·kernel
深蓝电商API1 小时前
Redis 在分布式爬虫中的作用
redis·分布式·爬虫
吴声子夜歌1 小时前
Linux命令——归档与备份
linux·运维·备份·归档
fangjianj1 小时前
Dell PowerEdge R930 物理服务器重装 Ubuntu Server 22.04 全流程实战记录
linux·服务器
fpcc1 小时前
计算机原理—程序的具体执行流程
linux
HackTwoHub1 小时前
BurpSuite2026.8专业(稳定版)下载Windows/Linux/Mac支持Java21以上(新增Burp AT智能体)
linux·运维·服务器·安全·macos·网络安全·自动化
晴天161 小时前
systemd 核心原理与实战-Day39
linux