Zookeeper知识点

介绍 Zookeeper

Zookeeper 是一个开源的分布式的,为分布式框架提供协调服务的 Apache 项目。

Zookeeper从设计模式角度来理解:是一个基于观察者模式设计的分布式服务管理框架,它负责存储和管理大家都关心的数据,然后接受观察者的注册,一旦这些数据的状态发生变化,Zookeeper 就将负责通知已经在Zookeeper上注册的那些观察者做出相应的反应。

Zookeeper特点

  1. Zookeeper:一个领导者(Leader),多个跟随者(Follower)组成的集群。

  2. 集群中只要有半数以上节点存活,Zookeeper集群就能正常服务。所 以Zookeeper适合安装奇数台服务器。

  3. 全局数据一致:每个Server保存一份相同的数据副本,Client无论连接到哪个Server,数据都是一致的。

  4. 更新请求顺序执行,来自同一个Client的更新请求按其发送顺序依次执行。

  5. 数据更新原子性,一次数据更新要么成功,要么失败。

  6. 实时性,在一定时间范围内,Client能读到最新数据。

数据结构

ZooKeeper 数据模型的结构与 Unix 文件系统很类似,整体上可以看作是一棵树,每个节点称做一个 ZNode。

每一个 ZNode 默认能够存储 1MB 的数据,每个 ZNode 都可以通过其路径唯一标识。

应用场景

提供的服务包括:统一命名服务、统一配置管理、统一集群管理、服务器节点动态上下线、软负载均衡等。

Curator 框架实现分布式锁

详情请查看官方文档:https://curator.apache.org/index.html

<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-framework</artifactId>
<version>4.3.0</version>
</dependency>
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-recipes</artifactId>
<version>4.3.0</version>
</dependency>
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-client</artifactId>
<version>4.3.0</version>
</dependency>

选举机制

半数机制,超过半数的投票通过,即通过。

  1. 第一次启动选举规则
    投票过半数时,服务器 id 大的胜出
  2. 第二次启动选举规则
    EPOCH 大的直接胜出
    EPOCH 相同,事务 id 大的胜出
    事务 id 相同,服务器 id 大的胜出

生产集群安装多少 zk 合适

安装奇数台。

生产经验:

  • 10 台服务器:3 台 zk;
  • 20 台服务器:5 台 zk;
  • 100 台服务器:11 台 zk;
  • 200 台服务器:11 台 zk

服务器台数多:好处,提高可靠性;坏处:提高通信延时

常用命令

ls、get、create、delete

http://zookeeper.apache.org/doc/current/zookeeperCLI.html


参考资料:https://www.bilibili.com/video/BV1to4y1C7gw


   转载规则


《Zookeeper知识点》 Harbor Zeng 采用 知识共享署名 4.0 国际许可协议 进行许可。
 上一篇
用户线程和守护线程 用户线程和守护线程
进程与线程 进程(Process)是系统进行资源分配和调度的基本单位,是线程的容器。 线程(thread) 是操作系统能够进行运算调度的最小单位,被包含在进程之中。一条线程指的是进程中一个单一顺序的控制流, 一个进程中可以并发多个线程,每条线程并行执行不同的任务。 线程状态枚举 NEW RUNNABLE BLOCKED WAITING TIMED_WATING TERMINATED wait
2021-11-08
下一篇 
CAP一致性理论 CAP一致性理论
CAP一致性理论 CAP理论告诉我们,一个分布式系统不可能同时满足以下三种 一致性(C: Consistency) 可用性(A: Availability) 分区容错性(P: Partition Tolerance) 这三个基本需求,最多只能同时满足其中的两项,因为P是必须的,因此往往选择就在CP或者AP中。 一致性(C: Consistency) 在分布式环境中,一致性是指数
2021-11-07
  目录