前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Zookeeper客户端API之节点检查和权限控制(十一)

Zookeeper客户端API之节点检查和权限控制(十一)

作者头像
程序新视界
发布2018-01-08 14:42:23
1.1K0
发布2018-01-08 14:42:23
举报
文章被收录于专栏:丑胖侠丑胖侠

本篇博客介绍一下原生API的节点检查是否存在和节点操作权限控制。Zookeeper提供的方法的使用方式与前面增删改查操作类似,具体使用案例不再逐一用实例说明。

节点检查是否存在

原生API的提供4个相应的方法,通过这些方法,可以检查节点是否存在,返回节点Stat信息,对节点进行注册监听事件等操作。

方法

代码语言:javascript
复制
public Stat exists(final String path, Watcher watcher)
代码语言:javascript
复制
public Stat exists(String path, boolean watch)
代码语言:javascript
复制
public void exists(final String path, Watcher watcher,
            StatCallback cb, Object ctx)
代码语言:javascript
复制
public void exists(String path, boolean watch, StatCallback cb, Object ctx)

参数说明

参数

说明

path

操作节点路径

watcher

注册Watcher,用于监听节点创建、节点删除、节点更新事件。

watch

是否使用默认watcher

cb

注册一个回调函数

ctx

传递上下文信息

其他说明

1、无论节点是否存在使用exists方法都可以进行监听注册。节点不存在时注册监听之后,当节点被创建则会通知客户端。 2、指定节点的子节点的变化不会通知客户端。

权限控制

在以前的实例中我们通过API创建的节点都是默认创建后可以随意操作。但在实际生产过程中,往往是多个应用使用同一套Zookeeper服务。而且,不同应用系统很少使用共同的数据,这时就需要通过权限来控制不同服务直接访问操作节点的权限。

Zookeeper提供了多种权限控制模式:world、auth、digest、ip和super。

创建完成会话之后,调用Zookeeper提供的addAuthInfo方法给会话操作添加权限,后续的其他操作都会添加此权限信息。此会话创建的节点,其他无权限的会话将无法操作,以此达到权限控制的目的。

特殊操作

其他操作都遵循上面所说的权限规则,唯独删除权限有所区别。 删除权限的作用范围为节点的子节点,即当对一个节点赋予权限之后,依然可以自由的删除此节点,但是此节点下面的子节点需要对应的权限才能够删除。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-03-29 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 节点检查是否存在
    • 方法
      • 参数说明
        • 其他说明
        • 权限控制
          • 特殊操作
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档