Zookeeper设计的思想

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

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

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

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

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

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

相关推荐
Cat_Rocky5 小时前
Kubernetes集群升级指南以及自动更新证书
云原生·容器·kubernetes
米高梅狮子5 小时前
第2章 docker容器
运维·docker·云原生·容器·架构·kubernetes·自动化
Jackyzhe7 小时前
从零学习Kafka:消费者组重平衡
分布式·学习·kafka
海南java第二人8 小时前
ClickHouse 部署模式完全指南:从单机到分布式集群的生产级选型
分布式·clickhouse
古城小栈9 小时前
K8s 之 ingress
云原生·容器·kubernetes
疯狂成瘾者10 小时前
Kubernetes(简称K8s)
云原生·容器·kubernetes
gQ85v10Db10 小时前
Redis 分布式锁进阶第三十四篇
数据库·redis·分布式
大G的笔记本12 小时前
Redis 分布式锁自动续期机制
数据库·redis·分布式
这个DBA有点耶13 小时前
2026下半年数据库趋势:多模、云原生、AI融合
数据库·人工智能·云原生
逆境不可逃14 小时前
Hello-Agents 第二部分-第六章:框架开发实践
java·人工智能·分布式·学习·架构·rabbitmq