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
主机更新节点为新的配置信息,
同时把里面的数据,修改为新的配置信息,就会更新其他的客户端
设置了watch事件,客户端收到一个nodedatachanged
数据变化了,通知到了客户端,可能是java客户端,c客户端
我们需要把我们的数据源的连接信息,改为跟节点的数据相一致。
我们会根据相应的字段信息去配置,更新客户端2,3
各自触发自己的客户端信息,会逐个逐个去更改。
-------------------------------------------------------------------------------------------