Zookeeper设计的思想

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

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

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

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

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

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

相关推荐
武汉唯众智创8 小时前
云计算实训室建设指南(2026版):从技能大赛赛项标准反推架构、课程与落地路径
云原生·kubernetes·云计算·云计算实训室·云计算教学平台·职业技能大赛
阿里云云原生12 小时前
剧透丨AI 原生研发组织的探索和实践
云原生
探索云原生16 小时前
KubeClipper 1.7.0 发布:Operation 优化与 Kubernetes 1.37 支持
linux·docker·云原生·kubernetes·go
MrSYJ20 小时前
Veth pair 细讲
docker·云原生·容器
Elastic 中国社区官方博客20 小时前
将 Vercel 数据导入 Elastic:无需安装任何东西的无服务器可观测性
大数据·运维·elasticsearch·搜索引擎·云原生·serverless·全文检索
懂软件的胡子个哥1 天前
微信工单系统如何基于 WechatApi 做消息分流和状态流转
运维·分布式·微信·架构·企业微信
阿里云云原生2 天前
云栖剧透丨四场论坛,看清智能体走进生产的关键路径
云原生
Henry-SAP2 天前
SAP PP模块核心机制解析
人工智能·云原生·sap·erp
运维开发王义杰2 天前
内存不报警、Pod 却连环死循环?揭秘 Linux Major Page Fault 致命抖动
云原生
九皇叔叔2 天前
从本地事务到分布式事务
java·分布式·分布式事务·cap·base