为了账号安全,请及时绑定邮箱和手机立即绑定

Zookeeper 节点特性

标签:
Java

本章节介绍一下 zookeeper 的节点特性和简单使用场景,正是由于这些节点特性的存在使 zookeeper 开发出不同的场景应用。

1、同一级节点 key 名称是唯一的

实例:

$ ls /$ create /runoob 2

https://img1.sycdn.imooc.com//609541c60001c28d06420090.jpg

已存在 /runoob 节点,再次创建会提示已经存在。

2、创建节点时,必须要带上全路径

实例:

$ ls /runoob
$ create /runoob/child 0$ create /runoob/child/ch01 0

https://img1.sycdn.imooc.com//609541c600012ddb07820131.jpg

3、session 关闭,临时节点清除

实例:

$ ls /runoob
$ create -e /runoob/echild 0

https://img1.sycdn.imooc.com//609541c60001930007860088.jpg

同时终端二查看该节点:

$ ls /runoob

https://img1.sycdn.imooc.com//609541c700018c7707190048.jpg

ctrl+c 关闭终端一连接后,查询终端二 /runoob/echild 节点消失。

$ ls /runoob

https://img1.sycdn.imooc.com//609541c7000125aa07310045.jpg

4、自动创建顺序节点

实例:

$ create -s -e /runoob 0

https://img1.sycdn.imooc.com//609541c70001032006980222.jpg

5、watch 机制,监听节点变化

事件监听机制类似于观察者模式,watch 流程是客户端向服务端某个节点路径上注册一个 watcher,同时客户端也会存储特定的 watcher,当节点数据或子节点发生变化时,服务端通知客户端,客户端进行回调处理。特别注意:监听事件被单次触发后,事件就失效了。

提示:参考常用命令章节 get 命令监听 watch 使用,后面章节将详细介绍 watch 实现原理。

6、delete 命令只能一层一层删除

实例:

$ ls /$ delete /runoob

https://img1.sycdn.imooc.com//609541c80001a93006120087.jpg

提示:新版本可以通过 deleteall 命令递归删除。

有了上述众多节点特性,使得 zookeeper 能开发不出不同的经典应用场景,比如:

  • 1. 数据发布/订阅

  • 2. 负载均衡

  • 3. 分布式协调/通知

  • 4. 集群管理

  • 5. 集群管理

  • 6. master 管理

  • 7. 分布式锁

  • 8. 分布式队列

作者公众号:一起写程序

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消