Zookeeper设计的思想

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

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

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

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

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

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

相关推荐
小张小张爱学习21 分钟前
分布式高频面试题
java·分布式
无心水32 分钟前
【Harness:落地实战】24、Harness CI/CD+GitOps深度实战:智能交付与渐进发布——企业级云原生DevOps全解析
人工智能·ci/cd·云原生·openclaw·harness·hermes·honcho
段一凡-华北理工大学1 小时前
工业领域的Hadoop架构学习~系列文章16:实时流处理架构 - 工业数据的实时动脉
大数据·数据仓库·hadoop·分布式·学习·架构·高炉炼铁
codeejun1 小时前
每日一Go-75、CI/CD 到 K8s:云原生ArgoCD / GitOps 全流程实战(Go + Gin)
ci/cd·云原生·golang
xingyuzhisuan1 小时前
异地多活聚合 API 架构:跨区域故障自动切换落地实践
微服务·云原生·架构
我是一颗柠檬1 小时前
【Java项目技术亮点】Outbox事件驱动模式:解决分布式事务的终极方案
java·开发语言·分布式·后端·中间件·kafka
Clf丶忆笙2 小时前
搭建支持多语言开发的Quarkus环境:Java、Kotlin与Scala全栈指南
java·开发语言·云原生·kotlin·scala·quarkus
珠***格2 小时前
边缘计算——“云-边-端”协同架构解析
大数据·人工智能·分布式·架构·能源·边缘计算
Swift社区2 小时前
鸿蒙 PC 文件共享:分布式机制 + Demo 实现
分布式·华为·harmonyos
牛奶咖啡132 小时前
k8s容器编排技术实践——k8s应用中机密信息的配置与存储
云原生·kubernetes·k8s中secret资源的创建·k8s的pod使用secret·k8s中configmap创建·k8s中使用configmap·k8s中重要数据的配置与存储