Zookeeper设计的思想

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

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

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

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

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

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

相关推荐
Henry-SAP16 分钟前
SAP MMBE跨工厂库存层级展示解析
人工智能·云原生·sap·erp
j7~29 分钟前
【C++标准项目】C++基于protobuf的发布订阅式消息队列(篇一):项目概述+环境搭建
分布式·消息队列·rabbitmq·gtest·protobuf·muduo·sqlites
troy1284 小时前
K8s 平台测试清单:深度分析与实战指南
云原生·容器·kubernetes
Henry-SAP9 小时前
SAP PP核心引擎计划策略业务解析
人工智能·云原生·sap·erp
今年下半年16 小时前
【Spring Boot】多种存储文件(FastDFS / MinIO / 阿里云 OSS)接入设计说明(附源码)
spring boot·分布式·中间件·简单工厂模式·策略模式
ShineWinsu17 小时前
对于Redis:string类型的解析
java·c++·redis·分布式·缓存·面试·string
仍然.21 小时前
RabbitMQ---可靠性传输
网络·分布式·rabbitmq
陈陈CHENCHEN1 天前
【Kubernetes】纯 IPv6 K8s 集群访问外部 IPv4 服务
云原生·容器·kubernetes
troy1281 天前
如何在谷歌云(Google Cloud)上部署 Kubernetes 集群
云原生·容器·kubernetes
灯澜忆梦1 天前
【RabbitMQ #13】 | 延迟消息
分布式·rabbitmq·ruby