zookeeper的session机制、watcher机制及acl机制的介绍

  1. session机制

  2. session用于客户端和服务端之间的连接,由客户端创建,可设置超时时间,通过心跳包机制(客户端向服务端ping包请求),检查心跳结束,session过期。

  3. session过期的时候,该session创建的所有临时节点都会被抛弃。

  4. watcher机制

  5. 对接点进行watcher操作get stat

  6. 对某个节点进行监控

    get path watcher
    stat path watcher
    
  7. 针对每个节点的操作都可以有一个监控者,当节点的数据发生变化,会触发watcher事件。

  8. zookeeper中watcher是一次性的,触发后立即销毁。

  9. 所有有watcher的节点在变更操作的时候都会触发watcher事件。

  10. 子节点的watcher操作(监控父节点,当父节点对应的子节点发生变更的时候,父节点上的watcher会被触发),增删会触发,修改不会,如果子节点在去新增子节点,不会触发,也就是说触发watcher事件一定是直系子节点。

  11. zookeeper的acl权限控制:针对节点可以设置相关的读写权限,目的是为了保证数据的安全性,权限permission可以指定不同的权限范围及角色。

  12. 常用命令:

    1. getAcl 获取节点权限

      getAcl /kangswx
      
    2. setAcl 设置节点权限

    3. addauth 输入认证授权信息,注册时输入明文密码,但是在zk里,以解密的形式保存

  13. acl的组成:[scheme?permission]

    1. world下只有一个id,也就是anyone,表示所有人world:anyone:permisions
    2. auth:代表认证登录,需要注册用户有权限才可以,auth:user:password:permisions
    3. digest需要密码才能访问,digest:username:BASE64(SHA1(password)):permisions。(跟auth区别在于,auth明文,digest为密文)
    4. ip ip:localhost:permisions
    5. super代表超管,拥有所有的权限(极少使用)
  14. permissions权限组合字符串cdrwa

    1. c create 创建子节点
    2. d delete 删除子节点
    3. r read 读取节点的数据
    4. w write 写入数据
    5. a admin 可管理的权限
  15. 向zookeeper中添加用户

    addauth digest kangswx:kangswx
    
  16. 向某个节点设置权限:

    setAcl /kangswx auth:kangswx:kangswx:cdrwa
    
  17. 查看某个节点的权限

    getAcl /kangswx
    
  18. acl的使用场景:

    1. 开发环境跟测试环境,使用acl就可以实现分离,开发者无权操作测试的节点
    2. 生产环境上控制指定ip的服务可以访问相关的节点
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值