Zookeeper 中的 CAP

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

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

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

相关推荐

  1. Zookeeper CAP

    2024-04-05 18:20:01       13 阅读
  2. CAP 角度下 Redis 与 Zookeeper 锁架构比较

    2024-04-05 18:20:01       34 阅读
  3. Zookeeper脑裂

    2024-04-05 18:20:01       11 阅读
  4. ZookeeperACL 权限控制机制

    2024-04-05 18:20:01       12 阅读
  5. 区分工业设计软件CADCAECAM、PDM等概念

    2024-04-05 18:20:01       38 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-05 18:20:01       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-05 18:20:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-05 18:20:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-05 18:20:01       18 阅读

热门阅读

  1. tcp服务端,时刻在线

    2024-04-05 18:20:01       15 阅读
  2. ubuntu 安装配置samba服务器完整教程

    2024-04-05 18:20:01       12 阅读
  3. C 结构体

    2024-04-05 18:20:01       10 阅读
  4. 1.Swift基础控件:TableView列表

    2024-04-05 18:20:01       14 阅读
  5. Python数据分析与挖掘

    2024-04-05 18:20:01       17 阅读
  6. Linux C++ 019-多态

    2024-04-05 18:20:01       13 阅读