1 简介

Zookeeper 所有的读操作——getData(), getChildren(), 和 exists() 都 可以设置监视(watch),并且这些watch都由写操作来触发:create、delete和setData。监视事件可以理解为一次性的触发器

2 特性

官方定义如下: a watch event is one-time trigger, sent to the client that set the watch, which occurs when the data for which the watch was set changes。

一次性触发:One-time trigger

当设置监视的数据发生改变时,该监视事件会被发送到客户端,例如,如果客户端调用了 getData("/znode1", true) 并且稍后 /znode1 节点上的数据发生了改变或者被删除了,客户端将会获取到 /znode1 发生变化的监视事件,而如果 /znode1 再一次发生了变化,除非客户端再次对 /znode1 设置监视,否则客户端不会收到事件通知。

发送至客户端:Sent to the client

Zookeeper 客户端和服务端是通过 socket 进行通信的,由于网络存在故障,所以监视事件很有可能不会成功地到达客户端

被设置 watch 的数据:The data for which the watch was set

这意味着 znode 节点本身具有不同的改变方式

3 分类

ZooKeeper所管理的watch可以分为两类:

数据watch(data watches)

getData和exists负责设置数据watch;

孩子watch(child watches)

getChildren负责设置孩子watch;

watch设置操作及相应的触发器如图下图所示:

最新文章

  1. 布隆过滤器的概述及Python实现
  2. js:插入节点appendChild insertBefore使用方法
  3. sublime总结
  4. MsSqlServer 复制分发概述
  5. word-break:brea-all;word-wrap:break-word的区别
  6. zepto源码--整体框架--学习笔记
  7. makefile复习时发现的编写makefile规则注意事项
  8. StringBuilder 类
  9. Android开发之Action Bar
  10. C# DbHelperSQLP,操作不同的数据库帮助类 (转载)
  11. (转)pem, cer, p12 and the pains of iOS Push Notifications encryption
  12. SQL点滴7—使用SQL Server的attach功能出现错误及解决方法
  13. BZOJ_2152_聪聪可可_点分治
  14. eclipse中的.yml和.properties文件没有绿色叶子图标
  15. linux上安装MongoDB副本集(带keyfile安全认证以及用户权限)
  16. 基于CentOS搭建VNC远程桌面服务
  17. MySQL底层索引剖析
  18. 快速学习HTML
  19. Mac-控制台更新svn版本
  20. Java - HashCode源码解析

热门文章

  1. x:Static , StaticResource 和DynamicResource等XAML 扩展用法
  2. 用C语言编写Windows服务程序的五个步骤
  3. JAVASCRIPT高程笔记-------JSON与AJAX
  4. Bootstrap 屏幕类型
  5. JS的innerText和innerHTML
  6. 关于在.Net开发中使用Sqlite的版本选择问题
  7. liunx 查看php 安装的扩展
  8. HTML特殊编码转换
  9. mysqldump数据库备份与恢复
  10. GitLab一键式安装bitnami 专题