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

前两个月我一直在看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. saturates|meteoric|enclose|marooned|predators|Pioneer community|salinization|condenser|embodied

    saturates渗透 meteoric蒸汽 enclose包围 Pioneer community 先锋群落 Climax community顶级群落 cumulative积累 Rebound 回弹 ...

  2. 将List 分成n个长度由调用者指定的子List

    public static void main(String[] args) { List<Integer> list = Arrays.asList(1,2,3,4,5,6,7,8); ...

  3. QeePHP

    百度百科: https://baike.baidu.com/item/qeephp/8328612?fr=aladdin 官方地址: http://www.qeephp.cn/app/index.ph ...

  4. goweb-go语言基础

    go语言基础 虽然这本书是讲goweb,但还是吧go语言基础过了一遍,由于我之前已经对go语言基础做了一遍系统的学习,这里就当简单回顾一下,不再写过多笔记了,之前的写的博客都有基础知识,O(∩_∩)O ...

  5. Spring boot 基于注解方式配置datasource

    Spring boot 基于注解方式配置datasource 编辑 ​ Xml配置 我们先来回顾下,使用xml配置数据源. 步骤: 先加载数据库相关配置文件; 配置数据源; 配置sqlSessionF ...

  6. [SDOI2019]热闹又尴尬的聚会(图论+set+构造)

    据说原数据可以让复杂度不满的暴力O(Tn^2)过掉……O(Tn^2)方法类似于codeforces一场div2的E题 有一种比较好的方法:每次找出原图G中度最小的点加入q,然后将相邻的点加入新图G'. ...

  7. Shell遍历目前下后缀名为.xml的文件并替换文件内容

    1.shell查找 .xml文件 find /home/esoon/test/external/ -type f -name '*.xml' 2.替换方法 sed -i "s/10.111. ...

  8. 如何将jar包打包到本地maven仓库

    --例如下载jar到本地(例如经常用到的oracle数据库驱动) --前提本地已将安装maven并配置好环境,cmd并切换到jar包的文件夹下,执行以下命令,注意DgroupId.DartifactI ...

  9. [LC] 207. Course Schedule

    There are a total of n courses you have to take, labeled from 0 to n-1. Some courses may have prereq ...

  10. D. Salary Changing(找中位数)

    题:https://codeforces.com/contest/1251/problem/D 题意:给你n个单位需要满足达到的区间,再给个s,s是要分配给n的单位的量,当然∑l<=s,问经过分 ...