概述

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

工作机制

基于观察者模式设计的分布式服务管理框架。负责存储和管理大家都关心的数据。然后接受观察者的注册,一旦这些数据发生变化。就通知给注册的观察者。

image-20211111113550820

特点

image-20211111113650470

  1. Zookeeper:一个领导者(Leader),多个跟随者(Follower)组成的集群。
  2. 集群中只要有半数以上节点存活,Zookeeper集群就能正常服务。
  3. 全局数据一致:每个Server保存一份相同的数据副本,Client无论连接到哪个Server,数据都是一致的。
  4. 更新请求顺序进行,来自同一个Client的更新请求按其发送顺序依次执行。
  5. 数据更新原子性,一次数据更新要么成功,要么失败。
  6. 实时性,在一定时间范围内,Client能读到最新数据。

数据结构

image-20211111114203295

应用场景

  • 统一命名管理
  • 统一配置管理
  • 统一集群管理
  • 服务器节点动态上下线
  • 软负载均衡
  • ……