【技术类】【慕课实战】【 ZooKeeper分布式专题与Dubbo微服务入门】学习笔记摘录,【No.2】

ls2 /命令 ----------------------------------------------------------------------------------------- get与stat命令 stat / = ls2 / 可以看到一段信息 get / 当前的一个节点,目录,把当前指定的节点的数据取出来,取出来是空也有可能。 ctime = Thu Jan 01 08:00:00 KHT 1970  

 dataVersion是版本号,会变化 numberChildren子节点有几个 -------------------------------------------------------------------------------------------   create命令 set命令 set path data 设定一个目录给他一个值, get /imooc 

 

 get / 获取节点信息,  set path data 设置值,dataVersion会变化,会+1

delete path data

--------------------------------------------------------------------------------------------- 理解watch机制 一定要好好的理解watch机制的内容 针对每个节点的操作,都会有一个监督者 --> watcher 当监控的某个对象znode发生了变化,就会发生watcher事件 zk中的watcher是一次性的,触发后立即销毁 可以不是一次性的,可以设置为永久性的。后面再讲这个。 父节点,子节点,增删改都能够触发watcher。 子节点的子节点,就是下一级的子节点。 针对不同类型的操作,触发的不同watcher事件 1  子)节点创建事件 2  子)节点删除事件 3  子)节点数据变化事件 父节点 watcher事件 get path watcher 设置watcher 父节点增删改的操作,都可以触发watcher事件 watcher事件类型一, 创建父节点 NodeCreated 首先help看一下 附带一个事件, stat  /imooc watch 针对这个设置的事件,,看看会有哪些事件被触发 属性没有的话,还是可以被设置的 create /imooc 123 按回车, watcher 事件触发了

 

修改父节点数据触发,NodeDataChanged事件

set /imooc 456

相关的属性变化了

get /imooc watch设置一个事件

在set 一下,就可以有触发了一个watcher事件了。

 

 删除父亲节点,

delete /imooc

只有进行了事件的设置,watch,才可以有事件监控。

watcher事件类型二

ls 为父节点设置watcher,创建子节点触发:

nodechildrenChanged

设置完一个事件后,要使用ls命令。

ls /imooc watch

create /imooc /abc 88

一个watcher事件,

 

 ls 为父节点设置watch,删除子节点触发。

nodechildrenChanged

ls为父节点设置watcher,修改子节点不会触发事件。

zk的机制,跟我们用户来讲,客户端收到一个提醒话,不能通过子节点来触发,

你必须把子节点,当成父节点来操作。

只有NodeDataChanged事件,没有nodechildrenDataChanged

watch常用的使用场景

统一资源配置

/imooc/sqlConfig    /imooc/sqlConfig     /imooc/sqlConfig

假如有三个集群,某一台机子建立一个sqlConfig

主机更新节点为新的配置信息,

通知sqlConfig节点,设置了watch事件,

同时把里面的数据,修改为新的配置信息,就会更新其他的客户端

设置了watch事件,客户端收到一个nodedatachanged

数据变化了,通知到了客户端,可能是java客户端,c客户端

我们需要把我们的数据源的连接信息,改为跟节点的数据相一致。

我们会根据相应的字段信息去配置,更新客户端2,3

各自触发自己的客户端信息,会逐个逐个去更改。

-------------------------------------------------------------------------------------------

                 

相关文章

在网络请求时,总会有各种异常情况出现,我们需要提前处理这...
作者:宇曾背景软件技术的发展历史,从单体的应用,逐渐演进...
hello,大家好呀,我是小楼。最近一个技术群有同学at我,问我...
 一个软件开发人员,工作到了一定的年限(一般是3、4年左右...
当一个服务调用另一个远程服务出现错误时的外观Dubbo提供了多...
最近在看阿里开源RPC框架Dubbo的源码,顺带梳理了一下其中用...