Zookeeper设计的思想

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

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

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

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

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

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

相关推荐
洛水水9 小时前
Redis 分布式锁详解:实现与缺陷
数据库·redis·分布式
还在忙碌的吴小二11 小时前
Spring Cloud Alibaba 微服务解决方案新手入门指南
微服务·云原生·架构
用户15583199681412 小时前
企业云盘API集成实战:用Webhook+OpenAPI实现自动化文件工作流
云原生
2601_9488106013 小时前
k8s-EFK
云原生·容器·kubernetes
rising start15 小时前
从客户端通信到分布式消息中间件
redis·分布式·kafka·rabbitmq·mq
国科安芯16 小时前
基于RISC-V架构的商业航天级MCU国产化技术路径与产业生态研究
网络·分布式·单片机·嵌入式硬件·架构·risc-v·安全性测试
zycoder.18 小时前
rabbitmq学习demo,包含普通消息,TTL+死信队列,topic交换机三种情况,以项目形式讲解
分布式·学习·rabbitmq
liux352819 小时前
云原生入门:什么是K8s?
云原生·容器·kubernetes
贺国亚19 小时前
分布式并发
分布式·wpf
思诺学长19 小时前
微服务与分布式系统
微服务·云原生·架构