Zookeeper设计的思想

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

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

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

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

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

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

相关推荐
衣乌安、2 小时前
Redis 分布式锁与任务状态
数据库·redis·分布式
半夜修仙4 小时前
RabbitMQ的推模式和拉模式
java·分布式·中间件·rabbitmq·github·java-rabbitmq
buligbulig5 小时前
Hadoop环境安装和集群创建
大数据·hadoop·分布式
橙臣程6 小时前
集群、分布式与微服务介绍
分布式·微服务·架构
lailai04108 小时前
表格自动化应用分析:功能边界与选型参考
分布式
爱浦路 IPLOOK9 小时前
IMS核心网建设方案:全IP时代的语音与多媒体业务统一底座
网络·分布式·科技·5g·信息与通信
Alluxio10 小时前
重卡自动驾驶数据引擎升级,智加科技凭借Alluxio实现训练吞吐10倍跃迁
分布式·科技·机器学习·缓存·ai·自动驾驶·汽车
Database_Cool_10 小时前
阿里云 PolarDB-X vs 腾讯云 TDSQL:2026 分布式数据库选型六维度深度对比
数据库·分布式·阿里云
Demon_Hao10 小时前
Spring Boot 4、JDK 25 与 GraalVM:Java 云原生进化,能否撼动 Go 的地位?
java·spring boot·云原生
江畔柳前堤19 小时前
GO01-Go 语言与主流编程语言深度对比
开发语言·人工智能·后端·微服务·云原生·golang·go