83、讲下Zookeeper watch机制

讲下Zookeeper watch机制

客户端,可以通过在znode上设置watch,实现实时监听znode的变化。

Watch事件是一个一次性的触发器,当被设置了Watch的数据发生了改变的时候,则服务器将这个改变发送给设置了Watch的客户端

  • 父节点的创建,修改,删除都会触发Watcher事件。
  • 子节点的创建,删除会触发Watcher事件。

一次性:一旦被触发就会移除,再次使用需要重新注册,因为每次变动都需要通知所有客户端,一次性可以减轻压力,3.6.0默认持久递归,可以触发多次

轻量:只通知发生了事件,不会告知事件内容,减轻服务器和带宽压力

Watcher 机制包括三个角色: 客户端线程、客户端的 WatchManager 以及 ZooKeeper 服务器

  • 客户端向 ZooKeeper 服务器注册一个 Watcher 监听

  • 把这个监听信息存储到客户端的 WatchManager 中

  • 当ZooKeeper 中的节点发生变化时,会通知客户端,客户端会调用相应 Watcher 对象中的回调方法。watch回调是串行同步的

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/5956.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

45:ECMAScript 6 简介

ECMAScript 6 简介 [ECMAScript 和 JavaScript 的关系](https://es6.ruanyifeng.com/#docs/intro#ECMAScript 和 JavaScript 的关系)[ES6 与 ECMAScript 2015 的关系](https://es6.ruanyifeng.com/#docs/intro#ES6 与 ECMAScript 2015 的关系)语法提案的批准流程[ECMAScript 的…

选择前端框架重要依据是什么?

状态更改检测,也就是检测应用程序对状态值的改变,这样才会相应地更新 UI。 (#MVC模式中模型Model的改变会更新View界面UI,这点类似后端的ORM,对象状态更改通过ORM框架自动变更相应数据表值) 变更检测是前…

IntelliJ IDEA2023中利用maven-archetype-quickstart模板创建项目无src文件夹及maven插件下载过慢问题的解决

目录 介绍问题之解决问题2的解决问题1的解决 介绍 昨天下载并安装了IntelliJ IDEA 2023的最新版(以下简称为IDEA 2023),学习利用该IDE编写Java项目及将其与maven结合构建项目。我所安装的maven是去年暑假安装的,版本为Apache Mav…

linux系统如何使用GPT工具进行分区

GPT(GUID Partition Table)是一种用于硬盘分区的新分区表格式,它具有比旧的MBR(Master Boot Record)分区表更高的灵活性和可靠性。在Linux系统中,我们可以使用GPT工具进行分区操作,本文将对如何…

linux常用命令—— less、more、head、cat

文章目录 1、less:向前或向后查看文件内容(推荐使用)1.1、less 基本用法1.2、快捷键操作1.3、查找文件中的关键字使用说明 1.4、linux中 less和more 的区别 2、more: 分页显示文件内容3、head:查看文件开头的内容4、ca…

认识主被动无人机遥感数据、预处理无人机遥感数据、定量估算农林植被关键性状、期刊论文插图精细制作与Appdesigner应用开发

目录 第一章、认识主被动无人机遥感数据 第二章、预处理无人机遥感数据 第三章、定量估算农林植被关键性状 第四章、期刊论文插图精细制作与Appdesigner应用开发 更多推荐 遥感技术作为一种空间大数据手段,能够从多时、多维、多地等角度,获取大量的…

[SQL挖掘机] - 删除数据库

介绍: 使用 SQL 中的 drop database命令。它会删除指定的数据库及其所有相关的表、视图、索引等对象。 使用命令: 下面是 drop database命令的基本语法: drop database database_name;其中,database_name是要删除的数据库的名称。 请注意&#xff0…

【数据结构常见七大排序(一)】—插入排序篇【直接插入排序】And【希尔排序】

目录 1.排序的概念及其运用1.1排序的概念1.2排序运用​​​​​​​​​​​​​​​​​​​​​1.3常见的七大排序 ​​2.直接插入排序2.1基本思想​​2.2直接插入排序2.3动图助解2.4直接插入排序源码​2.5直接插入排序的特性总结 ​​3.希尔排序( 缩小增量排序 )​​3.1希尔…

STM32CubeMX X-CUBE-AI更新模型

如题,我采用一个采用stm32CUBEMX生成了工程,工程里面使用了X-CUBE-AI对自定义的模型进行模型压缩,但是我经常要更新模型,那么怎样更新模型了。这里开博客记录一下。 如图所示,为基于STM32CUBEMX生成的工程文件目录结构…

C/C++ 程序 IDE 开发工具 CLion

下载地址: https://www.jetbrains.com/clion/ https://www.jetbrains.com/clion/ 下载地址: https://www.jetbrains.com/clion/download/ https://www.jetbrains.com/clion/download/ 历史版本(老版本)下载地址: h…

TCP/IP网络编程 第二十章:Windows中的线程同步

同步方法的分类及CRITICAL_SECTION同步 用户模式(User mode)和内核模式(Kernal mode) Windows操作系统的运行方式是“双模式操作”(Dual-mode Operation),这意味着Windows在运行过程中存在如下2种模式。 □用户模式&…

【分布式学习】服务注册与发现:Eureka、zk、Nacos、Consul对比

服务发现框架对比 –NacosEurekaConsulCoreDNSZookeeper一致性协议CPAPAPCP—CP健康检查TCP/HTTP/MYSQL/Client BeatClient BeatTCP/HTTP/gRPC/Cmd—Keep Alive负载均衡策略权重/metadata/SelectorRibbonFabioRoundRobin—雪崩保护有有无无无自动注销实例支持支持不支持不支持…

预处理过程(2/13)

头文件包含:#include定义一个宏:#define条件编译:#if、#else、#endif编译控制:#pragma 编译器提供的这些预处理命令,大大方便了程序的编写:通过头文件包含可以实现模块化编程;使用宏可以定义一…

关于正则表达式的简单介绍以及使用

一、介绍 正则表达式通常被用来检索匹配某种模式(规律)的文本 日常文本检索,如果单纯检索某个数字,字母,或者单词匹配出来的结果较多,而面对目标文件内容较大的时,我们也不可能肉眼对检索出来的…

JavaCV error AAC with no global headers is currently not supported

当我使用JavaCV库(FFmpegFrameGrabber FFmpegFrameRecorde)尝试将dhav码流转为rtsp的时候,出现了以下报错: Error: [rtsp 0000002318df7c30] AAC with no global headers is currently not supported.Exception in thread &quo…

leetcode 542. 01 矩阵

给定一个由 0 和 1 组成的矩阵 mat ,请输出一个大小相同的矩阵,其中每一个格子是 mat 中对应位置元素到最近的 0 的距离。 两个相邻元素间的距离为 1 。 示例 1: 输入:mat [[0,0,0],[0,1,0],[0,0,0]] 输出:[[0,0,0],…

docker安装yapi

一:创建docker-compose.yml 创建docker-compose.yml文件,具体内容如下: version: 3services:yapi-web:image: jayfong/yapi #拉取镜像container_name: yapi-web #容器名称ports: - 3000:3000 #端口映射environment:- YAPI_ADMIN_ACCOUN…

解锁新技能《logback packagingData属性配置作用及源码分析》

开源SDK: <dependency><groupId>io.github.mingyang66</groupId><artifactId>oceansky-logger</artifactId><version>4.3.6</version> </dependency> <!-- 基于logback的日志组件SDK --> <dependency><grou…

Hadoop——Hadoop单机搭建问题汇总

1、org.apache.hadoop.security.AccessControlException: Permission denied: userroot... 解决方法&#xff1a;关闭Hadoop,在hdfs-site.xml文件中添加&#xff1a; <property><name>dfs.permissions</name><value>false</value> </proper…

【Unity2D】设置一物体默认在其他物体之上不被遮挡

比如我想让机器人显示在箱子的前面。 点击箱子&#xff0c;将其层级设置在机器人的后面。 即修改箱子的Order in Layer 在机器人之后 物体默认的Order in Layer 都是0 &#xff0c;将箱子的Order in Layer修改为-1即可 这样将确保先绘制机器人&#xff0c;然后绘制箱子。这样…