Zookeeper 中的 CAP

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

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

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

相关推荐
IvanCodes22 分钟前
十五、深入理解 SELinux
linux·运维·服务器
云博客-资源宝24 分钟前
【防火墙源码】WordPress防火墙插件1.0测试版
linux·服务器·数据库
qq_4798754326 分钟前
systemd-resolved.service实验实战2
linux·服务器·网络
CS Beginner3 小时前
【Linux】安装配置mysql中出现的问题2
linux·mysql·adb
gsfl5 小时前
Redis分布式锁
数据库·redis·分布式
君之嘞9 小时前
【操作系统基础】认识操作系统:系统调用
linux·运维·microsoft
渡我白衣9 小时前
访问文件后出现的 ~$ 文件是什么?它和缓冲机制、数据丢失有什么关系?
linux
爱倒腾的老唐9 小时前
07、Linux 文件管理
linux·运维·服务器
Raymond运维10 小时前
MySQL包安装 -- RHEL系列(离线RPM包安装MySQL)
linux·运维·数据库·mysql
-dcr10 小时前
24.grep 使用手册
linux·运维开发·grep