Zookeeper设计的思想

ZooKeeper设计的目的是提供高性能、高可用、顺序一致性的分布式协调服务、保证数据最终一致性。

高性能(简单的数据模型)

1: 采用树形结构组织数据节点;
2: 全量数据节点,都存储在内存中;
3: Follower 和 Observer 直接处理非事务请求;

高可用(构建集群)
1: 半数以上机器存活,服务就能正常运行
2: 自动进行 Leader 选举

顺序一致性(事务操作的顺序)
1: 每个事务请求,都会转发给 Leader 处理
2: 每个事务,会分配全局唯一的递增id(zxid,64位:epoch + 自增 id)

最终一致性
1: 通过提议投票方式,保证事务提交的可靠性
2: 提议投票方式,只能保证 Client 收到事务提交成功后,半数以上节点能够看到最新数据

相关推荐
newbe365242 小时前
我们如何使用 impeccable 优化前端界面设计与实现稳定性
前端·人工智能·分布式·github·aigc·wpf
清心歌10 小时前
Seata AT 模式简单学习及总结
分布式·seata
蜀道山老天师13 小时前
K8s 数据存储全解析:从 EmptyDir 到 PV/PVC
云原生·容器·kubernetes
rebibabo14 小时前
Java基础(番外) | Kafka 入门:分区、副本与消费者组原理
java·分布式·kafka·学习笔记·副本·分区·异步日志
创世宇图14 小时前
【Python工程化实战】Kubernetes 中 Python 应用的优雅启停与健康检查:零停机滚动更新实战
python·云原生·kubernetes·优雅停机
swg32132116 小时前
Kafka基于ZK和KRaft的设计原理与差异
分布式·kafka
gb448oww516 小时前
Redis分布式锁进阶第三十五篇
数据库·redis·分布式
2601_9624408418 小时前
计算机毕业设计之jsp教室管理系统
java·开发语言·笔记·分布式·算法·课程设计·推荐算法
无小道1 天前
Redis——主从复制
数据库·redis·分布式·主从
阿里云云原生3 天前
研发视角的新突破:当 AI Coding 工具集成全域运维诊断,排查线上故障只需 3 分钟
云原生