ZooKeeper简介

2020-02-15  本文已影响0人  kar_joe

ZooKeeper是一个开源的分布式协调服务,由雅虎创建,是Google Chubby的开源实现。ZooKeeper的设计目标是将那些复杂且容易出错的分布式一致性服务封装起来,构成一个高效可靠的原语集,并以一系列简单易用的接口提供给用户使用。分布式应用程序可以基于它实现诸如数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master选举、分布式锁和分布式队列等功能。
简单来说ZooKeeper 实现了支持订阅通知机制的文件系统。

整体结构

image.png

工作特性

数据模型

简单来说维护了由节点(Znode)组成的文件系统。


image.png
  1. 节点类型
    永久节点、永久顺序节点、临时节点、临时顺序节点

  2. 节点结构
    节点属性(stat)、节点内容(data)、子节点(children)


    image.png
  3. 节点操作
    增、删、改、查、是否存在


    image.png

WATCH机制

一个事件包含KeeperState和EventType两部分,分别表示通知状态和事件类型。主要有以下几种组合:


image.png

KeeperState

有以下几种状态:

EventType

主要有以下几种:

EventType与操作的对应关系如下:


image.png

WATCH机制特点

集群运行方式

单机模式、集群模式、伪集群模式
伪集群模式配置文件如下:


image.png
上一篇 下一篇

猜你喜欢

热点阅读