`
邢邢色色
  • 浏览: 225577 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

ZooKeeper学习之关于Servers和Watches

阅读更多

watch是由read operation设置的一次性触发器,由一个特定operation来触发。为了在server端管理watch,ZK的server端实现了watch manager。一个WatchManager类的实例负责管理当前已被注册的watch列表,并负责触发它们。所有类型的server(包括standalone,leader,follower和observer)使用同样的方式处理watch。

 

DataTree类持有一个watch manager来维护所有类型的watch和一些附加的数据,当处理一个带有watch的read operation时,此类就会把这个watch加入manager的watch列表。类似的,当处理一个事务时,此类会查明是否需要触发相应的watch。如果发现有watch需要触发,此类就会调用manager的触发方法。添加一个watch和触发一个watch都会以一个read请求或者FinalRequestProcessor类的一个事务开始。

在server端触发了一个watch,会传播到client。此类使用server cnxn对象来处理(参见ServerCnxn类),此对象管理client和server的连接并实现了Watcher接口。Watch.process方法序列化了watch event,并通过网络发送出去。client接收到了序列化数据,转换成watch event对象,并传递到应用程序。watch只会保存在内存,不会持久化到硬盘。当client断开与server的连接时,它的所有watch会从内存中清除。因为client的库也会维护一份watch的数据,在重连之后watch数据会再次被同步到server端

 

分享到:
评论

相关推荐

    Zookeeper学习笔记

    自己整理的ZooKeeper学习笔记,适合刚刚接触ZooKeeper的人学习

    zookeeper学习笔记

    zookeeper学习笔记

    3天全面深入学习zookeeper视频教程

    3天精通zookeeper视频详细讲解,需要的小伙伴自行百度网盘下载,链接见附件,永久有效。 课程内容: zookeeper简介 zookeeper数据模型 zookeeper单机安装 zookeeper常用shell命令 zookeeper的Acl权限控制 zookeeper...

    Zookeeper学习总结

    如果在创建znode时Flag设置为EPHEMERAL,那么当创建这个znode的节点和Zookeeper失去连接后,这个znode将不再存在在Zookeeper里,Zookeeper使用Watcher察觉事件信息。当客户端接收到事件信息,比如连接超时、节点数据...

    Zookeeper学习笔记.pdf

    ZooKeeper是一种为分布式应用所设计的高可用、高性能且一致的开源协调服务,...有了这些数据结构和原语还不够,因为我们的ZooKeeper是工作在一个分布式的环境下,我们的服务是通过消息以网络的形式发送给我们的分布式应

    ZooKeeper学习笔记

    java ZooKeeper学习笔记\ZooKeeper原理、运用

    zookeeper 学习资料 中篇

    zookeeper 学习资料 中篇

    zookeeper学习Demo

    zookeeper学习用Demo,包含zookeeper的各种使用案例 zookeeper学习用Demo,包含zookeeper的各种使用案例

    zookeeper学习图谱

    zookeeper学习知识点, 脑图

    Zookeeper搭建和原理学习

    Zookeeper的搭建、底层原理以及Java客户端的操作,如:zkclient,curator等

    zookeeper 自己学习资料

    自己学习zookeeper时的用过学习资料,很不全,但都是这么过来的。

    Zookeeper学习笔记.docx

    Zookeeper学习笔记

    zookeeper一站式学习资料

    zookeeper一站式学习资料包含国内首部Zookeeper从入门到精通+搜索引擎等一条龙学习资料以及视频讲解包含笔记代码资源

    zookeeper学习视频.rar

    zookeeper学习视频

    zookeeper学习笔记.pptx

    本文适合但不限于软件开发人员阅读。本文档能够使阅读者对zookeeper有一个宏观且全面的了解,内容主要包含zookeeper架构、数据模型、读写及工作原理、典型应用场景、指令汇总等,

    Zookeeper学习教程 包括java源码

    Zookeeper学习 Zookeeper是一个由Java编写并开源的,为分布式系统提供协调服务的框架. Zookeeper概述 Zookeeper最早起源于雅虎研究院的一个小组.当时研究人员发现,在雅虎内部的很多系统基本都依赖一个类似的系统来...

    zookeeper 学习资料 下篇

    zookeeper 学习资料 下篇

    zookeeper 学习资料 上篇

    zookeeper 学习资料 上篇

    Zookeeper学习手册

    基于 Zookeeper部署微服务,实现前后端分离,提高开发效率。

    Java学习之Dubbo+ZooKeeper分布式服务Demo

    在之前的一个《Java学习之SpringBoot整合SSM Demo》分享中说到搭建ZooKeeper和Dubbo分布式框架中遇到了一些技术问题没能成功,只分享了其中的一个中间产物,那就是大家看到的《Java学习之SpringBoot整合SSM Demo》...

Global site tag (gtag.js) - Google Analytics