Zookeeper 的读写机制、保证机制、Watcher(数据变更的通知)

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: Zookeeper 的读写机制、保证机制、Watcher(数据变更的通知)

一、Zookeeper 读写机制

非事务请求为读,事务请求为写。

每个 server 保存一份数据副本,就是每个 server 都会有自己的一份数据副本,每个数据副本的内容都是统一的,在更改数据副本时,超过一半的 server 成功更改后,就认为是更改成功了。

 

二、Zookeeper 保证机制

更新请求顺序进行,来自同一个 client 的更新请求按其发送顺序依次执行。因为 Leader 会为每个 server 提供一个队列,请求会进入队列,实行先进先出的策略,然后排队依次进行处理。

因为每个 server 都保存一份数据副本,而且每个 server 的数据副本内容是一致的,所以 client 无论连接到哪个 server,数据视图都是一致的。

实时性,在一定范围内,client 能读到最新数据。为什么是一定范围内呢?因为这里涉及到过半提交的策略,超过一半的 server 更新成功 Leader 就认为更新成功。(Paxos 算法)

 

三、Watcher------ 数据变更的通知

比如,创建一个根节点 root,在 root 下创建 10 个 ZNode 子节点,如果在根节点 root 上创建一个子节点变更的 Watcher 监听的话,如果我删除了某个子节点的话,比如删除 Znode1,那么就说明子节点发生了变化,那么客户端就会在下一次心跳的时候,获得这个感知来执行客户端的操作,比如分布式锁、分布式队列等,都可以通过监听机制来实现。

相关实践学习
基于MSE实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
相关文章
|
6月前
|
Java
分布式系列教程(24) -Zookeeper数据查看工具ZooInspector
分布式系列教程(24) -Zookeeper数据查看工具ZooInspector
80 0
|
3月前
|
运维 监控 安全
MSE Nacos 配置变更审计平台使用指南
MSE Nacos 配置变更审计平台使用指南
|
3月前
|
网络协议 中间件 数据库
Zookeeper学习系列【三】Zookeeper 集群架构、读写机制以及一致性原理(ZAB协议)
Zookeeper学习系列【三】Zookeeper 集群架构、读写机制以及一致性原理(ZAB协议)
100 0
|
7月前
|
安全 开发者
MSE微服务引擎中,单链路变更态保护能力
MSE微服务引擎中,单链路变更态保护能力
37 1
|
10月前
|
算法 Java 大数据
ZooKeeper 如何保证数据的一致性?【重要】
ZooKeeper 如何保证数据的一致性?【重要】
123 0
|
12月前
|
存储 监控 Apache
Apache ZooKeeper - ZK的数据和文件
Apache ZooKeeper - ZK的数据和文件
94 0
|
12月前
|
Apache
Apache ZooKeeper - Leader 选举 如何保证分布式数据的一致性
Apache ZooKeeper - Leader 选举 如何保证分布式数据的一致性
102 0
|
12月前
|
存储 Java Apache
Apache ZooKeeper - ZK的内存数据 + 持久化事务日志 + 数据快照 初探
Apache ZooKeeper - ZK的内存数据 + 持久化事务日志 + 数据快照 初探
143 0
|
12月前
|
存储 消息中间件 分布式计算
Zookeeper数据查看工具ZooInspector简介
Zookeeper数据查看工具ZooInspector简介
706 0
|
运维 监控 安全
ZooKeeper 避坑指南: ZooKeeper 3.4.6 版本 BUG 导致的数据不一致问题
ZooKeeper 避坑指南: ZooKeeper 3.4.6 版本 BUG 导致的数据不一致问题