有一段时间没写博客,今天想着把自己近几个月做的笔记分享一波。

前两个月我一直在看zk的视频:https://coding.imooc.com/learn/list/201.html   从开始看这位老师的视频,到现在有一年多,觉得这位老师讲的很不错,所以分享一波,接下来,我们步入正题。

      第一:zookeeper主要目录结构
                bin:主要的一些运行命令
 
                conf:存放配置文件,其中需要修改zk.cfg
 
                contrib:附加的一些功能
 
                dist-maven:mvn编译后目录
 
                docs:文档
 
                recipes:案例demo代码
 
                 src:源码
     第二:配置文件简介
 
               zoo.cfg配置
  
               ticktime:用于计算的时间单元。比如session超时:N*ticktime
  
              initLimit:用于集群,允许从节点连接并同步到master节点的初始化时间,以ticktime的倍数来表示。
 
               syncLimit:用于集群,master主节点与从节点之间发送消息,请求和应答时间长度。(心跳机制)
 
               dataDir:必须配置  zk相关存储的数据
 
               dataLogDir:日志目录,不配置会和dataDir共用目录。
 
               clientPort:连接服务器端口,默认2181
 
       第三:zk数据模型
         
                zk:是一个树形结构,类似于前段开发组件tree.js
 
                zk的数据模型也可以理解为Linux/unix文件目录:/usr/local.../
 
                每个节点都称之为znode,它可以有子节点,也可以有数据
 
                每个节点分为临时节点和永久节点,临时节点在客户端断开后就消失
 
                每个zk节点都各自的版本号,可以通过命令行来显示节点信息
 
                每个节数据发生变化,那么该节点的版本号会累加(乐观锁)
 
                删除/修改过时节点,版本号不匹配则会报错
  
                每个zk节点存储的数据不宜过大,几k即可
 
                节点可以设备权限acl,可以通过权限来限制用户的访问。
       第四:zk作用体现
 
                  一:master节点选举,主节点挂了以后,从节点就会接受工作,并保证这个节点是唯一的,这也是所谓的首脑模式,从而保证我们的集群是高可用的。

 
                  二:统一配置文件管理,即只需要不熟一台服务器,则可以把相同配置文件同步更新到其他所哟与的服务器,次操作在云计算中用的特别的多(假设修改了redis统一配置)
 
                  三:发布与订阅,类似消息队列MQ(amq,rmq。。),dubbo发布者把数据存在znode上,订阅者会读取这个数据。
 
                  四:提供分布式锁,分布式环境不同进程之间争夺资源,类似于多线程中的锁。
 
                  五:集群管理,集群保证数据的强一致性。 主节点数据会同步到附属节点  客户端不管链接任何客户端的时候都会保证读取数据的一致性。
          
 

zookeeper基本知识和zk作用体现的更多相关文章

  1. zookeeper入门知识

    ZooKeeper 是什么? ZooKeeper 顾名思义 动物园管理员,他是拿来管大象(Hadoop) . 蜜蜂(Hive) .小猪(Pig)  的管理员, Apache Hbase和 Apache ...

  2. zookeeper基础知识

    Zookeeper简介 ZooKeeper设计目的 最终一致性client不论连接到哪个Server,展示给它都是同一个视图,这是zookeeper最重要的性能. 可靠性具有简单.健壮.良好的性能,如 ...

  3. Zookeeper系列一:Zookeeper介绍、Zookeeper安装配置、ZK Shell的使用

    https://www.cnblogs.com/leeSmall/p/9563547.html 一.Zookeeper介绍 1. 介绍Zookeeper之前先来介绍一下分布式 1.1 分布式主要是下面 ...

  4. zookeeper 入门知识

    作为开启分布式架构的基石,除了必会还有的选么 自己的一些理解,有错误的话请一定要给予指正! 一.是什么? 分布式数据一致性的解决方案. 二.有什么用 数据的发布/订阅(配置中心)  . 负载均衡(du ...

  5. zookeeper基础知识整理

    http://blog.csdn.net/pelick/article/details/7269670 http://zookeeper.apache.org/doc/trunk/javaExampl ...

  6. ZooKeeper 相关知识

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/zhang123456456/articl ...

  7. 3-3 zookeeper的作用体现

    zookeeper比较重要的一个模式:选举模式,这也是高可用的一个体现.公司的董事长.副董事长.董事会常理员以及老总和副总,他们并不会乘坐同一班飞机,而是会分为两班或者三班飞机一起去,也就是我们所谓的 ...

  8. Zookeeper在Dubbo中的作用及Zk集群的选举原理

    转自 : https://blog.csdn.net/zh15732621679/article/details/80723358

  9. Zookeeper相关知识

    一.Zookeeper是什么? Zookeeper 分布式服务框架是 Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务.状态同步服务. ...

随机推荐

  1. Cannot read property 'XXXX' of null/undifined

    这个问题可能的原因有很多 1.如果你的js直接写在自执行函数或者head标签内的script里面,那么可以检查一下你的代码有没有用到页面里的节点,因为这样写的代码在页面加载完成之前就会开始执行,如果有 ...

  2. lua 把图片转换成base64

    调用实例 require("ZZBase64") local files local file = io.open("E:\\2342.jpg","r ...

  3. QLIKVIEW-SALESORDER\DELIVERYNOTICE\OUTSTOCK\INVOICE

    //销售订单SALESORDER_TMP:NoConcatenateLOAD T_SAL_ORDER.LE_ID, [T_SAL_ORDER.LCY CODE], T_SAL_ORDER.SYSTEM ...

  4. Rnotebook中用python画图

    如果notebook需要转化为pdf, 能想到办法是保存图片文件,嵌入mardown语法中. 但是如果在html中显示, 可以考虑下面思虑, 比较取巧. ``` {python, engine.pat ...

  5. 吴裕雄--天生自然 JAVA开发学习:抽象类

    public abstract class Employee { private String name; private String address; private int number; pu ...

  6. FastReport 使用入门 (二)

    上部分  我们将格式大概都画好了 下面 我们将Datatable的每列绑定到  我们添加的table控件上 .然后打开table控件的事件 双击选中 ManualBuild 事件 添加代码 priva ...

  7. G. Petya and Graph(经典项目与项目消耗问题)(网络流)

    题:https://codeforces.com/contest/1082/problem/G 题意:给定有边权和点权的图,问你选一些边,然sum边-sum点最大(点权被多次用为公共点只会减一次) 分 ...

  8. RPC,基于消息,远程访问方式比较

    远程访问 1.RPC方式 客户端调用远程方法和客户端调用本地方法形式是一样的,当然了底层需要封装通讯协议及数据转换的过程,这个一般由框架完成,可以简化开发, 这种方式本质也是通过通讯协议发消息给对方的 ...

  9. Sam format

    reference:https://davetang.org/wiki/tiki-index.php?page=SAM @SQ SN:contig1 LN:9401 (序列ID及长度) 参考序列名,这 ...

  10. 用Kinect为听障人士架一座沟通的桥梁

    编者按:这是微软亚洲研究院和中国科学院共同进行的一个合作项目,希望通过使用Kinect来帮助提升手语的识别率,从而为听力受损的残障人士(以下简称听障人士)架起一座与外界沟通的桥梁. 文章译自:Digi ...