一、 zookeeper的内存模型
 
    1. zookeeper是一个由 znode节点组成的一个树形结构
  2. 每个znode都可以做成一个subject。。。
  
 
 
3. 客户端可以监控每一个节点。(比如说在datamip添加一个子节点,客户端会接收到通知)
 
二、 znode具有那些类型
 
1. 持久性的znode
  zookeeper宕机,或者client宕机,这个znode一旦创建就不会丢失
    命令 zk:create /datamip helloworld
 
2. 顺序性的znode
  如果我创建一个znode,系统会将你的znode上面追加一个10位数编号
  命令 -s 创建顺序性znode
  先创建customer节点
       
 
  然后创建顺序性节点,可以看到系统生成的编号
 
       
 
  
3. 临时性的znode
  zookeeper宕机了,或者client在session指定的时间内没有连接server,都会被认为丢失
 
  client -> server 【tcp长连接 + session机制】
 
  如果server认为client死机,会将client以前创建的znode删除
 
  命令 -e 创建临时znode
       
  
  查询 发现有两个节点  v1 v10
  
  
  ctrl + c 退出
  
  重新开启zkCli.sh
  
  在启动发现 v10 已经没有了
       
 
  HA机制 (高可用)【方便管理 work,proxy的上下线】
 
4. 创建临时 + 顺序 节点 (后面介绍)
  create -s -e /datamip/vvv hello zk
 
三 、znode具有那些属性【stat】
  stat :
    创建事务ID,
    修改事务ID,
  命令 zk:get /datamip
  
 
  helloworld
  cZxid = 0x3                 //znode 的创建的事务ID
  ctime = Wed Mar 07 00:49:14 PST 2018      //znode创建 的时间点
  mZxid = 0x3                //znode的最后修改事务ID
  mtime = Wed Mar 07 00:49:14 PST 2018     //znode最后修改的时间
  pZxid = 0x6                   //子节点最后修改的事务ID
  cversion = 3                 //子节点修改的版本号
  dataVersion = 0                // znode的数据版本
  aclVersion = 0                     //znode acl数据版本
  ephemeralOwner = 0x0                //当前这个znode属于那个client
  dataLength = 10                 //当前znode内容的长度
  numChildren = 1                //当前znode的子节点个数
 
所谓的stat 其实就是znode的一些统计信息
 
命令 zk:set /datamip 修改属性
 
  
 
查看set后/datamip的 统计属性
 
  
 
 
 
 
 

zookeeper DataTree内存模型介绍及对Znode的四大特性介绍和Stat结构分析的更多相关文章

  1. 从原子类和Unsafe来理解Java内存模型,AtomicInteger的incrementAndGet方法源码介绍,valueOffset偏移量的理解

    众所周知,i++分为三步: 1. 读取i的值 2. 计算i+1 3. 将计算出i+1赋给i 可以使用锁来保持操作的原子性和变量可见性,用volatile保持值的可见性和操作顺序性: 从一个小例子引发的 ...

  2. Slickflow.NET 开源工作流引擎基础介绍(五) -- 会签加签高级特性介绍

    前言:会签和加签是常见审批流程模式,在引擎中,对这两种流程模式做了分别定义和实现,其中也用到了Workflow Pattern的Multiple Instance(多实例) . 1. 会签和加签的定义 ...

  3. 【Todo】【转载】深入理解Java内存模型

    提纲挈领地说一下Java内存模型: 什么是Java内存模型 Java内存模型定义了一种多线程访问Java内存的规范.Java内存模型要完整讲不是这里几句话能说清楚的,我简单总结一下Java内存模型的几 ...

  4. 理论与实践中的 C# 内存模型,第 2 部分

    转载自:https://msdn.microsoft.com/zh-cn/magazine/jj883956.aspx 这是介绍 C# 内存模型的系列文章的第二篇(共两篇). 正如在 MSDN 杂志十 ...

  5. [转载]《C++0x漫谈》系列之:多线程内存模型

    <C++0x漫谈>系列之:多线程内存模型 By 刘未鹏(pongba) 刘言|C++的罗浮宫(http://blog.csdn.net/pongba) <C++0x漫谈>系列导 ...

  6. 全面理解Java内存模型

    尊重原创:http://blog.csdn.net/suifeng3051/article/details/52611310 Java内存模型即JavaMemory Model,简称JMM.JMM定义 ...

  7. Java并发编程(四)-- Java内存模型

    Java内存模型 前面讲到了Java线程之间的通信采用的是共享内存模型,这里提到的共享内存模型指的就是Java内存模型(简称JMM),JMM决定一个线程对共享变量的写入何时对另一个线程可见.从抽象的角 ...

  8. 全面理解Java内存模型(转)

    转自:http://blog.csdn.net/suifeng3051/article/details/52611310 Java内存模型即Java Memory Model,简称JMM.JMM定义了 ...

  9. 深入理解java内存模型

    深入理解Java内存模型(一)——基础 深入理解Java内存模型(二)——重排序 深入理解Java内存模型(三)——顺序一致性 深入理解Java内存模型(四)——volatile 深入理解Java内存 ...

随机推荐

  1. K老在拿图灵奖时的发言:Computer Programming as an Art

    很多话说得很透彻,把一些觉比较精彩的摘抄一下. ... It seems to me that if the authors I studied were writing today, they wo ...

  2. from 组件

    知识补充 :  location.href="/index/"                                      加路径或者网址都可以 location.h ...

  3. 使用Spring表达式语言进行装配

    1.1注入外部的值 Spring中,处理外部值的最简单方式就是声明属性源并通过Spring的Environment来检索属性.例如,程序清单3.7展现了一个基本的Spring配置类,它使用外部的属性来 ...

  4. Vue之cookie操作(原生)

    Vue之cookie操作(原生) 再vue组件中加入以下几个方法,然后调用即可. methods:{ //读取cookie,需要注意的是cookie是不能存中文的,如果需要存中文,解决方法是后端先进行 ...

  5. 虚拟化 - kvm安装

    vmware centos6.5 64位 kvm虚拟化安装配置 安装 centos 64位 1.推荐配置 内存 2G 硬盘50G,或者再单独分一个磁盘,用来存储虚拟机文件 最关键的一步,在创建虚拟机时 ...

  6. ffmpeg强制使用TCP方式读取rtsp流

    ffmpeg强制使用TCP方式处理rtsp流,参考网上资料,得知可以使用如下命令: “ffmpeg -rtsp_transport tcp -i rtsp://admin.......” 可以是使用抓 ...

  7. Windows Intel VT-x开启

    解决虚拟机安装64位系统“此主机支持 Intel VT-x,但 Intel VT-x 处于禁用状态”的问题 背景:win7 旗舰版 64位+VMware 10.0 启动虚拟机时报错 问题:已将该虚拟机 ...

  8. HTTP 状态信息

    一.1xx 消息 该类型的状态码代表请求已被接受,需要继续处理. 100 Continue 客户端应当继续发送请求,这个临时响应是用来通知客户端的部分请求已经被服务器接收,且仍未被拒绝.客户端应当继续 ...

  9. Spring、Springboot常用注解:@Qualifier(不定时更新)

    1.@Qualifier 出现场景: 老项目中有多个实现类实现同一个接口时,或者一个项目中有多个数据源时,spring容器不知道该注入哪个实现类或者使用哪个数据源,该注解就派上用场. 1)多实现类实现 ...

  10. IOS 键盘的显示与关闭

    在每一个IOS应用中,几乎不可避免的要进行文本输入操作,例如要求用户填写登陆注册信息,进行话题的评论回复,等等.用到的文本输入组件有UITextField,UITextView,对于这两个组件的相关属 ...