Zookeeper设计的思想

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

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

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

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

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

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

相关推荐
Clarence Liu3 分钟前
k8s 1.35 使用kubeadm部署高可用集群
云原生·容器·kubernetes
麦兜*17 分钟前
深入解析云原生AI应用全栈架构:从Kubernetes智能调度与Istio服务网格到Knative事件驱动与Prometheus可观测性实战指南
人工智能·云原生·架构
h7ml24 分钟前
基于 RabbitMQ 构建异步化淘客订单处理流水线:解耦、削峰与失败重试
分布式·rabbitmq·ruby
摆烂z1 小时前
k8s频繁拉取镜像导致磁盘占满imagefs
云原生·容器·kubernetes
夜月蓝汐1 小时前
分布式监控SkyWalking链路追踪
分布式·skywalking
shandongtianhe1 小时前
分布式光伏气象站:实现对光伏电站所处环境的多参数、实时化、高精度监测
分布式
源代码•宸1 小时前
分布式理论基础——Raft算法
经验分享·分布式·后端·算法·golang·集群·raft
J_liaty1 小时前
XXL-Job 实现分布式定时任务
分布式·xxl-job
牛奶咖啡131 小时前
Prometheus+Grafana构建云原生分布式监控系统(十一)_基于consul的服务发现
云原生·prometheus·consul的安装部署·consul服务自动发现·consul服务的注册删除·consul服务的更新·实现自动去consul注册服务
虫小宝3 小时前
基于 OAuth2 与淘宝开放平台 API 的安全授权与数据同步机制设计
微服务·云原生·架构