使用经验

基本客户端命令

  • ls /node查看节点的子节点信息,注意ls后必须跟节点名
  • get /node查看节点存储的数据和一些状态信息

image.png

  • create /node data创建节点,后面跟着节点存储的数据,默认创建的是持久非顺序节点;通过添加-e -s参数可以创建临时节点和顺序节点;注意后面需要跟着节点的数据,否则不会创建
  • delete /node [version]删除节点,只能删除空节点,若要删除含有子节点的,需要用rmr /node
  • set /node data修改节点数据信息

节点类型

  • 持久化节点:即使客户端断开,节点依然存在,除非主动删除
  • 临时节点:客户端断开后节点删除,区分持久和临时节点可以通过get查看节点信息,如果empherallOwner字段为0则是持久节点,不为0则是临时节点,代表创建者的会话ID
  • 顺序/非顺序节点:持久和临时节点都有顺序/非顺序节点;顺序节点会在节点后面加上一串递增数据
  • 注意,临时节点下面不能有其他节点;持久化节点下可以有临时节点和持久节点

监听器

  • zk的监听器是一次性的,这意味着如果设置监听器得到响应之后,监听器就取消了
  • 鉴于如此,一般设置监听器的思路是,设置好后,当得到响应时,调用get方法获取新的节点信息同时设置新监听器;即可实现循环监听