Zookeeper设计的思想

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

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

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

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

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

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

相关推荐
西域编娃3 分钟前
Hadoop 集群部署与配置详解
大数据·linux·运维·hadoop·分布式
桂月二二34 分钟前
云原生服务网格:微服务通信的智能基础设施
微服务·云原生·架构
桂月二二37 分钟前
云原生边缘计算:分布式智能的最后一公里革命
分布式·云原生·边缘计算
蝉叫醒了夏天38 分钟前
【 现代后端架构演进:微服务设计与云原生】
微服务·云原生·架构
小二·3 小时前
深入理解分布式锁——以Redis为例
数据库·redis·分布式
运维小文10 小时前
PQL查询和监控各类中间件
数据库·云原生·中间件·prometheus·监控
道法自然,人法天11 小时前
分布式事务管理:使用Seata简化微服务事务处理
分布式·微服务·架构
a_j5811 小时前
K8s面试题总结(十一)
云原生·容器·kubernetes
m0_7482459213 小时前
RabbitMQ高级特性----生产者确认机制
分布式·rabbitmq
云上艺旅16 小时前
K8S学习之基础二十四:k8s的持久化存储之pv和pvc
学习·云原生·容器·kubernetes