Zookeeper设计的思想

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

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

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

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

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

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

相关推荐
AutoMQ13 小时前
AutoMQ × Aklivity:解锁云原生实时数据价值
云原生
nix.gnehc13 小时前
深度解析K8s四大核心接口:CRI、CNI、CSI与OCI的设计精髓与实践逻辑
云原生·容器·kubernetes
黑棠会长13 小时前
微服务实战.06 |微服务对话时,你选择打电话还是发邮件?
微服务·云原生·架构·c#
程序员泠零澪回家种桔子14 小时前
微服务日志治理:ELK 栈实战指南
后端·elk·微服务·云原生·架构
MicrosoftReactor14 小时前
技术速递|GitHub Copilot SDK 与云原生的完美融合
云原生·github·copilot
陌上丨15 小时前
分布式锁的特性是什么?如何实现分布式锁?
分布式
yangSnowy15 小时前
MySQL 分布式锁实现方案
数据库·分布式·mysql
A-刘晨阳15 小时前
K8S 部署 CoreDNS 之 DNS 域名获取
运维·云原生·容器·kubernetes·dns·coredns
ALex_zry16 小时前
分布式缓存性能优化策略
分布式·缓存·性能优化
七夜zippoe16 小时前
分布式配置中心终极对决 Spring Cloud Config与Apollo架构深度解析
分布式·架构·springcloud·apollo·配置中心