2019独角兽企业重金招聘Python工程师标准>>>

Zookeeper 数据模型

Zookeeper 拥有着类似文件系统的命名空间,唯一的区别是在命名空间下的每一个节点都有数据和他关联

Znodes

zookeeper 的节点 znode, znode 维护着一些列状态信息 包含数据的版本,acl 权限修改信息,时间戳  服务器返回数据和客户端操作信息都是携带版本信息的 如果版本信息不一致的话那个将会失败(有点像乐观锁实现)

TIPS 这种处理行为可用户覆盖处理

znode 的几个特征

watches

客户点可以对znode 添加监听器, 当触发的时候 服务器会给客户端一个通知

Data Access

数据存储在节点,数据特性是 原子特性的(不可再分割),每一个节点都有相应的ACL(Access Control List) 设定。zookeeper 节点存储的数据主要起协调各节点工作

Ephemeral Nodes(临时节点)

  1. 没有子节点
  2. 生命周期和会话一样

Sequence Nodes(序列节点)

  1. 命名唯一
  2. 创建节点的时候指定他的counter

Time in zookeeper

zookeeper 有多种跟踪方式

Zxid(ZooKeeper Transaction Id)

每一个change 操作都携带着一个唯一的ZXID,如果changeA 的 zxid > changeB 的 zxid, 那么  那么changeB 将会优先发生(越小优先级越高)

Version Number(版本号)

每次change 都会修改版本号 3 个版本号

  1. number of changes to the data of a znode
  2. number of changes to the children of a znode
  3. number of changes to the ACL of a znode

Ticks

多服务器时,使用ticks 定义时间事件,载入状态,会话超时,节点之间connection 超时等

会话超时设定 2 倍的 心跳时间

Real time

zookeeper 时间 需要你自己放进来 不适用本机时间

zookeeper 的状态信息结构

每个节点的状态信息都是由以下数据字段组成的

  • czxid

    创建节点的Zxid

  • mzxid

    最后一次修改节点的Zxid

  • ctime

    节点创建时间(毫秒级别)

  • mtime

    节点最后修改时间(毫秒界别)

  • version

    节点数据版本信息

  • cversion

    子节点版本号信息

  • aversion

    acl 版本号信息

  • ephemeralOwner

    如果该节点是临时节点 这表示为会话ID 否则为 0

  • dataLength

    该节点的数据长度

  • numChildren

    该节点子节点的数量

zookeeper session

session 状态图

资料列表

http://coolxing.iteye.com/category/278800

转载于:https://my.oschina.net/u/1156053/blog/192644

zookeeper conceptual相关推荐

  1. ZooKeeper Programmer's Guide(3.4.6)英文快读

    为什么80%的码农都做不了架构师?>>>    Introduction This document is a guide for developers wishing to cre ...

  2. 常用的高性能 KV 存储 Redis、Memcached、etcd、Zookeeper 区别

    1. 什么是 KV 存储 KV 是 Key-Value 的缩写,KV 存储也叫键值对存储.简单来说,它是利用 Key 做索引来实现数据的存储.修改.查询和删除功能. 常用的高性能 KV 存储主要有 R ...

  3. kafka+zookeeper搭建步骤kafka问题

    kafka+zookeeper搭建步骤 帅气的名称被占用关注 0.1392018.12.04 13:48:00字数 1,007阅读 88 vmware 安装centOS7 克隆虚拟为:三台 本地你的I ...

  4. ZooKeeper简单使用

    ZooKeeper简单使用 ZooKeeper简单使用 1.ZooKeeper简介 2.ZooKeeper能做什么 3.ZooKeeper核心 3.1.ZooKeeper安装 3.2.ZooKeepe ...

  5. 2021年大数据ZooKeeper(六):ZooKeeper选举机制

    目录 ​​​​​​ZooKeeper选举机制 概念 全新集群选举 非全新集群选举 ZooKeeper选举机制 zookeeper默认的算法是FastLeaderElection,采用投票数大于半数则胜 ...

  6. 2021年大数据ZooKeeper(五):ZooKeeper Java API操作

    目录 ZooKeeper Java API操作 引入maven坐标 节点的操作 ZooKeeper Java API操作 这里操作Zookeeper的JavaAPI使用的是一套zookeeper客户端 ...

  7. 2021年大数据ZooKeeper(四):ZooKeeper的shell操作

    目录 ZooKeeper的shell操作 客户端连接 shell基本操作 操作命令 操作实例 节点属性 ​​​​​​​ZooKeeper Watcher(监听机制) ​​​​​​​Watch机制特点 ...

  8. 2021年大数据ZooKeeper(三):Zookeeper数据模型和节点类型

    目录 Apache ZooKeeper Zookeeper数据模型 Zookeeper节点类型 Apache ZooKeeper Zookeeper数据模型 图中的每个节点称为一个Znode. 每个Z ...

  9. 2021年大数据ZooKeeper(二):ZooKeeper集群搭建

    目录 ZooKeeper集群搭建 第一步:下载zookeeeper的压缩包,下载网址如下 第二步:解压 第三步:修改配置文件 第四步:添加myid配置 ​​​​​​​第五步:安装包分发并修改myid的 ...

最新文章

  1. 史上第一次,AI能够自学翻译地球上的任何语言了
  2. Windows Server 2008域中组的成员关系
  3. 鸿蒙系统今日发布 中国人自己的操作系统,中国人自己的操作系统,有望取代谷歌安卓的地位,但面临一个难题...
  4. Linux(Centos6.5)用户名密码
  5. 递归三:变态蛙跳台阶
  6. 可视化卷及神经网络热力图
  7. Python 实现9*9乘法表
  8. C#.NET 比较好用的tcp通信模板(服务器端篇)
  9. 【NetApp】IO读写和WAFL的工作原理
  10. openresty获取nginx请求url中的所有参数
  11. win7_64bit下桌面及开始菜单中图标变为.lnk
  12. 1-14字串的连接最长路径查找
  13. 基于JAVA+SpringMVC+Mybatis+MYSQL的相声购票系统
  14. Bzoj4011 [HNOI2015]落忆枫音
  15. 双层感知机解决异或问题
  16. 阶乘与 pi 的关系 —— 斯特林公式(Stirling formula)
  17. 3、JSON相关基础知识点总结(3)
  18. 深度学习笔记_术语/缩写/基本概念
  19. Oracle(7)——Oracle修改国家字符集
  20. IT技术分享的一点点总结

热门文章

  1. 使用javah生成.h文件, 出现无法访问android.app,Activity的错误的解决
  2. ExtJS监听键盘事件:回车键实现登录功能
  3. SQL查询重复记录,删除重复记录
  4. 如何查看linux系统源码
  5. 瑞丽,边陲的旖旎风情
  6. Hadoop单点安装(伪分布式)
  7. Kerberos打开debug日志
  8. 苹果系统中国日历服务器,AppleMac苹果电脑最好用的中国农历日历(TinyCal)v1.11.0
  9. ai直线怎么变折线_如何在 AI中设计可编辑折线图
  10. Java计算两日期相差天数源码