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

本文涉及的产品
云原生网关 MSE Higress,422元/月
注册配置 MSE Nacos/ZooKeeper,118元/月
服务治理 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实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
相关文章
|
21天前
|
存储 运维 NoSQL
分布式读写锁的奥义:上古世代 ZooKeeper 的进击
本文作者将介绍女娲对社区 ZooKeeper 在分布式读写锁实践细节上的思考,希望帮助大家理解分布式读写锁背后的原理。
|
5月前
|
监控 NoSQL Java
分布式锁实现原理问题之ZooKeeper的观察器(Watcher)特点问题如何解决
分布式锁实现原理问题之ZooKeeper的观察器(Watcher)特点问题如何解决
|
2月前
|
分布式计算 Java Hadoop
Hadoop-30 ZooKeeper集群 JavaAPI 客户端 POM Java操作ZK 监听节点 监听数据变化 创建节点 删除节点
Hadoop-30 ZooKeeper集群 JavaAPI 客户端 POM Java操作ZK 监听节点 监听数据变化 创建节点 删除节点
69 1
|
2月前
|
分布式计算 监控 Hadoop
Hadoop-29 ZooKeeper集群 Watcher机制 工作原理 与 ZK基本命令 测试集群效果 3台公网云服务器
Hadoop-29 ZooKeeper集群 Watcher机制 工作原理 与 ZK基本命令 测试集群效果 3台公网云服务器
45 1
|
2月前
|
分布式计算 Hadoop Unix
Hadoop-28 ZooKeeper集群 ZNode简介概念和测试 数据结构与监听机制 持久性节点 持久顺序节点 事务ID Watcher机制
Hadoop-28 ZooKeeper集群 ZNode简介概念和测试 数据结构与监听机制 持久性节点 持久顺序节点 事务ID Watcher机制
49 1
|
4月前
|
监控 API
【zookeeper 第四篇章】监控 Watcher
ZooKeeper通过Watcher机制实现了数据的发布/订阅功能。多个订阅者可以监听同一主题对象,一旦该对象状态变化,如节点内容或子节点列表变动,ZooKeeper会实时通知所有订阅者。Watcher架构包括ZooKeeper服务端、客户端及其Watcher管理器。客户端向服务端注册Watcher并保存至本地管理器中;当状态变化时,服务端通知客户端,触发相关Watcher回调处理逻辑。
87 2
|
5月前
|
消息中间件 存储 Kafka
kafka 在 zookeeper 中保存的数据内容
kafka 在 zookeeper 中保存的数据内容
56 3
|
5月前
|
存储 数据库
zookeeper 集群环境搭建及集群选举及数据同步机制
zookeeper 集群环境搭建及集群选举及数据同步机制
97 2
|
7月前
|
网络协议 中间件 数据库
Zookeeper学习系列【三】Zookeeper 集群架构、读写机制以及一致性原理(ZAB协议)
Zookeeper学习系列【三】Zookeeper 集群架构、读写机制以及一致性原理(ZAB协议)
282 0
|
7月前
|
存储 API
深入理解Zookeeper系列-4.Watcher原理
深入理解Zookeeper系列-4.Watcher原理
60 1