1.Zookeeper简介

一.简介

1.什么是Zookeeper

Zookeeper是一个用于分布式一致性处理的框架

最初是是研发Hadoop时副产品

由于在分布式处理中的一致性处理比较麻烦

因此,在大量的分布式应用中都逐渐的使用了Zookeeper

使得Zookeeper成为了各种分布式应用的基础组件

Hadoop、kafka、dubbo都是基于Zookeeper

zookeeper官网

是一个开源的分布式框架

为分布式系统提供协调服务

解决分布式系统中的数据管理问题

2.分布式与集群

  • 分布式
    • 将一个大型的应用部署在不同的服务器上
    • 解决高并发的问题
    • 不同的多台服务器上部署不同的服务模块
    • 这些服务之间通过一定的方式进行通信与调用
    • 对外提供组内的协作
  • 集群
    • 将一个大型的应用部署在不同的服务器上
    • 不同的多台服务器上部署相同的服务模块
    • 解决了系统的高可用性

3.组成

Zookeeper主要由两部分组成

  • 文件系统
  • 通知机制

3-1 文件系统

Zookeeper维护的是一个类似于树形结构的数据结构,主要用于数据的读写

  • 其数据结构是一个树形结构,由无数个节点所组成
  • 每一个节点都称之为ZookeeperNode,简称ZNode
  • 每一个节点都对应一个唯一的路径,通过该路径来标识节点
  • 每一个节点存储的数据量有限制,一般在1M左右
    1.Zookeeper简介_第1张图片

在Zookeeper中,存在四种节点类型

  • 持久化节点
    • 当客户端与服务器断开连接,该节点仍然存在
  • 持久化顺序编号节点
    • 当客户端与服务器断开连接,该节点仍然存在
    • 每一个节点会自动进行编号
    • Zookeeper会为每一个节点的名字自动加上顺序编号的后缀
  • 临时节点
    • 当客户端与服务器断开连接,该节点会被删除
  • 临时顺序编号节点
    • 当客户端与服务器断开连接,该节点会被删除
    • 每一个节点会自动进行编号
    • Zookeeper会为每一个节点的名字自动加上顺序编号的后缀

3-2 通知机制

Zookeeper是一个基于观察者模式设计的分布式服务管理框架

  • Zookeeper负责管理与维护项目的公共数据,并接受观察者的注册
  • 一旦这些数据发生了变化,Zookeeper会通知所有已注册的观察者
  • 此时的观察者可以根据数据的变化做出相应的改变

你可能感兴趣的:(Zookeeper)