A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 彦,云胡不喜 初级黑马   /  2019-6-27 13:58  /  1007 人查看  /  0 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

2、zookeeper 入门
        1.查看+获得zookeeper 的服务器上的数据存储信息  ls
                2.文件系统: zookeeper 维护了一个类似文件系统的数据结构
                类似于windows 的注册表, 有名称, 有树节点,有key(键)/value(值)对的关系
                 可以看做一个树形结构的数据库 ,分布在不同的机器上做名称管理
                3.初始Zode 节点
                Zookeeper 数据结构与Unix 文件系统类似,整体上可以看作一棵树,每个节点称为一个ZNode ,我很显然,zookeeper集群自身维护了一套数据结构。
                整个存储结构是一个树形结构,每一个Znode 默认能够存储1MB的数据,每个ZNode都可以通过其路径唯一标识
3、深入Zode       
Znode的结构模型:
          1、Zookeeper 的Stat 结构体
                Znode 维护了一个stat 结构,这个stat 包含数据变化的版本号,访问控制列表变化,还有时间戳,版本号和时间戳一起,
                可让Zookeeper 验证缓存和协调更新,每个znode数据发生了变化,版本号就增加
                        例如:无论何时客户端解索数据,它也一起检索数据的版本号,并且当客户端执行更新或删除时,客户端必须提供他正在改变的znode 版本号,如果它提供的版本号和真实的版本号不一致,更新会失败
             czxid:引起这个znode创建的zxid,创建节点的事务zxid,为了保证顺序性
             zkid :必须单调递增。因此Zookeeper使用一个64位的数来表示,高32位是Leader的epoch,从1开始,每次选出新的Leader,epoch加一。
                 低32位为该epoch内的序号,每次epoch变化,都将低32位的序号重置。这样保证了zkid的全局递增性。
                     ctime :zode被创建的毫秒数(1970年开始)
             mzxid:znode最后更新的zxid       
             mtime:  znode 最后被修改的时间       
             pzxid :znode最后更新的子节点zxid
                  小结:Zookeeper 内部维护了一套类似于UNix的树形结构,由Znode 构成的集合,每一个znode由多个树形进行描述
Znode 存在的類型   -e   -s
   
        PERSISTENT 持久化目录节点
        PERSISTENT_SEQUENTIAL 持久化顺序编号目录节点
        EPHEMERAL 临时目录节点
        EPHEMERAL SEQUENTIAL 临时顺序编号目录节点
                小结:zookeeper的一个节点对应一个应用,节点存储的数据就是应用需要的配置信息

watch : 数据观察 和 节点观察
     1. 客户端注册监听它关心的目录节点,当目录节点发生变化(数据改变,删除,子节点增加,zookeeper 会通知客户端)
     2.zookeeper 支持watch(观察)的概念,客户端可以在每个znode节点上设置一个观察,如果被观察服务端的znode节点有变更,那么watch就会被触发,
这个watch所属的客户端将收到一个通知包被告知哪个节点发生了变化,把相应的时间通知给设置watcher的client 端
在getData() ,getChildren() 和exists()都有设置watch的选项
     异步回调触发机制
     特征:
         1.一次触发                                 
         2.发送客户端
                异步,Zookeeper 提供一个顺序保证,在watch事件之前绝不会看到变化,这样不同客户端看到的是一致性顺序
         3.为数据设置watch
         4.时序性和一致性
         5.变化备注

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马