详解ZooKeeper节点特性

2023-11-28 0 617

ZooKeeper是用于分布式应用程序的协调服务。它公开了一组简单的API,分布式应用程序可以基于这些API用于同步,节点状态、配置等信息、服务注册等信息。其由JAVA编写,支持JAVA 和C两种语言的客户端,本篇文章重点为大家讲解一下ZooKeeper节点特性。

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

实例:

$ ls /
$ create /runoob 2

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

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

实例:

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

Zookeeper 节点特性介绍Zookeeper 节点特性介绍

session 关闭,临时节点清除

实例:

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

同时终端二查看该节点:

$ ls /runoob

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

$ ls /runoob

自动创建顺序节点

实例:

$ create -s -e /runoob 0

Zookeeper 节点特性介绍Zookeeper 节点特性介绍

watch 机制,监听节点变化

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

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

delete 命令只能一层一层删除

实例:

$ ls /
$ delete /runoob

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

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

  1. 数据发布/订阅
  2. 负载均衡
  3. 分布式协调/通知
  4. 集群管理
  5. 集群管理
  6. master 管理
  7. 分布式锁
  8. 分布式队列

本文来源:www.lxlinux.net/6087.html,若引用不当,请联系修改。

相关文章

猜你喜欢
官方客服团队

为您解决烦忧 - 24小时在线 专业服务

  • 0 +

    访问总数

  • 0 +

    会员总数

  • 0 +

    文章总数

  • 0 +

    今日发布

  • 0 +

    本周发布

  • 4975 +

    运行天数

你的前景,远超我们想象