Zookeeper设计的思想

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

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

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

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

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

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

相关推荐
_Evan_Yao3 小时前
内存映射文件与零拷贝:Kafka、RocketMQ 飞升的秘密通道
分布式·kafka·rocketmq
linux修理工5 小时前
在 Kali Linux 上安装 Docker
云原生·eureka
与遨游于天地5 小时前
分布式锁从Redis到Redisson的演进
数据库·redis·分布式
Francek Chen8 小时前
【大数据存储与管理】实验3:熟悉常用的HBase操作
大数据·数据库·分布式·hbase
七夜zippoe8 小时前
DolphinDB分布式表:创建与管理
数据库·分布式·维度·dolphindb·数据写入
吃胖点儿9 小时前
云原生技术原理分层详解
云原生
KmSH8umpK9 小时前
Redis分布式锁进阶第十七篇
数据库·redis·分布式
fengxin_rou9 小时前
JVM 内存结构与内存溢出 / 泄漏问题全解析
java·开发语言·jvm·分布式·rabbitmq
菜鸟40411 小时前
Hermes实战案例_NAS 上跑了个 AI 管家:从信息孤岛到飞书一句话调度
云原生·eureka
gQ85v10Db1 天前
Redis分布式锁进阶第十七篇:微服务分布式锁全局治理 + 跨团队统一规范落地 + 全链路稳定性提升方案
redis·分布式·微服务