zookeeper conceptual
2019独角兽企业重金招聘Python工程师标准>>>
Zookeeper 数据模型
Zookeeper 拥有着类似文件系统的命名空间,唯一的区别是在命名空间下的每一个节点都有数据和他关联
Znodes
zookeeper 的节点 znode, znode 维护着一些列状态信息 包含数据的版本,acl 权限修改信息,时间戳 服务器返回数据和客户端操作信息都是携带版本信息的 如果版本信息不一致的话那个将会失败(有点像乐观锁实现)
TIPS 这种处理行为可用户覆盖处理
znode 的几个特征
watches
客户点可以对znode 添加监听器, 当触发的时候 服务器会给客户端一个通知
Data Access
数据存储在节点,数据特性是 原子特性的(不可再分割),每一个节点都有相应的ACL(Access Control List) 设定。zookeeper 节点存储的数据主要起协调各节点工作
Ephemeral Nodes(临时节点)
- 没有子节点
- 生命周期和会话一样
Sequence Nodes(序列节点)
- 命名唯一
- 创建节点的时候指定他的counter
Time in zookeeper
zookeeper 有多种跟踪方式
Zxid(ZooKeeper Transaction Id)
每一个change 操作都携带着一个唯一的ZXID,如果changeA 的 zxid > changeB 的 zxid, 那么 那么changeB 将会优先发生(越小优先级越高)
Version Number(版本号)
每次change 都会修改版本号 3 个版本号
- number of changes to the data of a znode
- number of changes to the children of a znode
- 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相关推荐
- ZooKeeper Programmer's Guide(3.4.6)英文快读
为什么80%的码农都做不了架构师?>>> Introduction This document is a guide for developers wishing to cre ...
- 常用的高性能 KV 存储 Redis、Memcached、etcd、Zookeeper 区别
1. 什么是 KV 存储 KV 是 Key-Value 的缩写,KV 存储也叫键值对存储.简单来说,它是利用 Key 做索引来实现数据的存储.修改.查询和删除功能. 常用的高性能 KV 存储主要有 R ...
- kafka+zookeeper搭建步骤kafka问题
kafka+zookeeper搭建步骤 帅气的名称被占用关注 0.1392018.12.04 13:48:00字数 1,007阅读 88 vmware 安装centOS7 克隆虚拟为:三台 本地你的I ...
- ZooKeeper简单使用
ZooKeeper简单使用 ZooKeeper简单使用 1.ZooKeeper简介 2.ZooKeeper能做什么 3.ZooKeeper核心 3.1.ZooKeeper安装 3.2.ZooKeepe ...
- 2021年大数据ZooKeeper(六):ZooKeeper选举机制
目录 ZooKeeper选举机制 概念 全新集群选举 非全新集群选举 ZooKeeper选举机制 zookeeper默认的算法是FastLeaderElection,采用投票数大于半数则胜 ...
- 2021年大数据ZooKeeper(五):ZooKeeper Java API操作
目录 ZooKeeper Java API操作 引入maven坐标 节点的操作 ZooKeeper Java API操作 这里操作Zookeeper的JavaAPI使用的是一套zookeeper客户端 ...
- 2021年大数据ZooKeeper(四):ZooKeeper的shell操作
目录 ZooKeeper的shell操作 客户端连接 shell基本操作 操作命令 操作实例 节点属性 ZooKeeper Watcher(监听机制) Watch机制特点 ...
- 2021年大数据ZooKeeper(三):Zookeeper数据模型和节点类型
目录 Apache ZooKeeper Zookeeper数据模型 Zookeeper节点类型 Apache ZooKeeper Zookeeper数据模型 图中的每个节点称为一个Znode. 每个Z ...
- 2021年大数据ZooKeeper(二):ZooKeeper集群搭建
目录 ZooKeeper集群搭建 第一步:下载zookeeeper的压缩包,下载网址如下 第二步:解压 第三步:修改配置文件 第四步:添加myid配置 第五步:安装包分发并修改myid的 ...
最新文章
- 史上第一次,AI能够自学翻译地球上的任何语言了
- Windows Server 2008域中组的成员关系
- 鸿蒙系统今日发布 中国人自己的操作系统,中国人自己的操作系统,有望取代谷歌安卓的地位,但面临一个难题...
- Linux(Centos6.5)用户名密码
- 递归三:变态蛙跳台阶
- 可视化卷及神经网络热力图
- Python 实现9*9乘法表
- C#.NET 比较好用的tcp通信模板(服务器端篇)
- 【NetApp】IO读写和WAFL的工作原理
- openresty获取nginx请求url中的所有参数
- win7_64bit下桌面及开始菜单中图标变为.lnk
- 1-14字串的连接最长路径查找
- 基于JAVA+SpringMVC+Mybatis+MYSQL的相声购票系统
- Bzoj4011 [HNOI2015]落忆枫音
- 双层感知机解决异或问题
- 阶乘与 pi 的关系 —— 斯特林公式(Stirling formula)
- 3、JSON相关基础知识点总结(3)
- 深度学习笔记_术语/缩写/基本概念
- Oracle(7)——Oracle修改国家字符集
- IT技术分享的一点点总结
热门文章
- 使用javah生成.h文件, 出现无法访问android.app,Activity的错误的解决
- ExtJS监听键盘事件:回车键实现登录功能
- SQL查询重复记录,删除重复记录
- 如何查看linux系统源码
- 瑞丽,边陲的旖旎风情
- Hadoop单点安装(伪分布式)
- Kerberos打开debug日志
- 苹果系统中国日历服务器,AppleMac苹果电脑最好用的中国农历日历(TinyCal)v1.11.0
- ai直线怎么变折线_如何在 AI中设计可编辑折线图
- Java计算两日期相差天数源码