Zookeeper系列(八)Zookeeper客户端(JAVA)API之节点检查和权限控制
2017-05-11 15:06
323 查看
本篇博客介绍一下原生API的节点检查是否存在和节点操作权限控制。Zookeeper提供的方法的使用方式与前面增删改查操作类似,具体使用案例不再逐一用实例说明。
原生API的提供4个相应的方法,通过这些方法,可以检查节点是否存在,返回节点Stat信息,对节点进行注册监听事件等操作。
1
1
2
1
2
1
1、无论节点是否存在使用exists方法都可以进行监听注册。节点不存在时注册监听之后,当节点被创建则会通知客户端。
2、指定节点的子节点的变化不会通知客户端。
在以前的实例中我们通过API创建的节点都是默认创建后可以随意操作。但在实际生产过程中,往往是多个应用使用同一套Zookeeper服务。而且,不同应用系统很少使用共同的数据,这时就需要通过权限来控制不同服务直接访问操作节点的权限。
Zookeeper提供了多种权限控制模式:world、auth、digest、ip和super。
创建完成会话之后,调用Zookeeper提供的addAuthInfo方法给会话操作添加权限,后续的其他操作都会添加此权限信息。此会话创建的节点,其他无权限的会话将无法操作,以此达到权限控制的目的。
其他操作都遵循上面所说的权限规则,唯独删除权限有所区别。
删除权限的作用范围为节点的子节点,即当对一个节点赋予权限之后,依然可以自由的删除此节点,但是此节点下面的子节点需要对应的权限才能够删除。
节点检查是否存在
原生API的提供4个相应的方法,通过这些方法,可以检查节点是否存在,返回节点Stat信息,对节点进行注册监听事件等操作。
方法
public Stat exists(final String path, Watcher watcher)1
1
public Stat exists(String path, boolean watch)1
1
public void exists(final String path, Watcher watcher, StatCallback cb, Object ctx)1
2
1
2
public void exists(String path, boolean watch, StatCallback cb, Object ctx)1
1
参数说明
参数 | 说明 |
---|---|
path | 操作节点路径 |
watcher | 注册Watcher,用于监听节点创建、节点删除、节点更新事件。 |
watch | 是否使用默认watcher |
cb | 注册一个回调函数 |
ctx | 传递上下文信息 |
其他说明
1、无论节点是否存在使用exists方法都可以进行监听注册。节点不存在时注册监听之后,当节点被创建则会通知客户端。 2、指定节点的子节点的变化不会通知客户端。
权限控制
在以前的实例中我们通过API创建的节点都是默认创建后可以随意操作。但在实际生产过程中,往往是多个应用使用同一套Zookeeper服务。而且,不同应用系统很少使用共同的数据,这时就需要通过权限来控制不同服务直接访问操作节点的权限。Zookeeper提供了多种权限控制模式:world、auth、digest、ip和super。
创建完成会话之后,调用Zookeeper提供的addAuthInfo方法给会话操作添加权限,后续的其他操作都会添加此权限信息。此会话创建的节点,其他无权限的会话将无法操作,以此达到权限控制的目的。
特殊操作
其他操作都遵循上面所说的权限规则,唯独删除权限有所区别。 删除权限的作用范围为节点的子节点,即当对一个节点赋予权限之后,依然可以自由的删除此节点,但是此节点下面的子节点需要对应的权限才能够删除。
相关文章推荐
- Zookeeper客户端API之节点检查和权限控制(十一)
- Zookeeper客户端API之节点检查和权限控制(十一)
- Zookeeper系列(七)Zookeeper客户端(JAVA)API之创读取子节点内容
- ZooKeeper之Java客户端API使用—权限控制。
- Zookeeper系列(八)Zookeeper客户端(JAVA)API之修改、删除节点
- Zookeeper系列(六)Zookeeper客户端(JAVA)API之创读取子节点列表
- Zookeeper系列(五)Zookeeper客户端(JAVA)API之创建节点
- ZooKeeper之Java客户端API使用—创建节点。
- ZooKeeper之Java客户端API使用—删除节点。
- Zookeeper系列(四)Zookeeper客户端(JAVA)API之创建会话
- ZooKeeper之Java客户端API使用—检测节点是否存在
- zookeeper学习之java api权限控制<七>
- Zookeeper的java客户端API使用方法(五)
- 六:ZooKeeper的java客户端api的使用
- zookeeper(二) java客户端api的使用
- zookeeper Java客户端API的使用方法
- Zookeeper客户端API之修改删除节点(十)
- Zookeeper(五)Java客户端节点操作
- Zookeeper客户端基本操作java实现——创建连接、创建节点、添加修改节点内容、获取子节点、获取节点数据、删除节点
- zookeeper的Java客户端API