Zookeeper 中的 CAP

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

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

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

相关推荐
道尔柯南2 分钟前
Linux 网络编程:从零掌握 TCP Socket 编程(附 C++ 实战)
linux·网络·tcp/ip
0+11118 分钟前
Linux --ARP的具体过程与ARP欺骗
linux·服务器·网络
yyk3332426 分钟前
Spark介绍
大数据·分布式·spark
阿星_30 分钟前
Linux Ubuntu 查看 SQLite 工具
linux·ubuntu·sqlite
成为你的宁宁31 分钟前
【基于 SSH 与 JNLP 协议的 Jenkins 分布式构建方案】
分布式·jenkins
Lsetea1 小时前
OpenSSL的checkhost显示不匹配却退出0:名称检查与证书验收
linux·https·shell·ssl证书·openssl
张文君1 小时前
Ubuntu iSCSI CHAP认证与Win11挂载
linux·运维·ubuntu
一直C1 小时前
嵌入式 Linux 驱动开发学习笔记:中断、等待队列与工作队列
linux·驱动开发·嵌入式硬件·学习·imx6ull
程序员-Benothing1 小时前
Linux防火墙配置教程:iptables、firewalld、nftables、ufw
linux·运维·服务器
齐鲁大虾2 小时前
如何通过 CUPS Web 界面(http://localhost:631)安装打印机驱动
linux