首页 > 代码库 > 分布式服务管理框架 ZooKeeper

分布式服务管理框架 ZooKeeper


 
核心功能
 
  • 统一命名服务(Name Service)
 
通过有层次的目录结构产生唯一的名称,同时可以将名称关联到特定资源
 
  • 配置管理(Configuration Management)
 
将公共的配置信息保存在 Zookeeper 的某个目录节点中,然后将所有需要修改的应用机器监控配置信息的状态,一旦配置信息
 
发生变化,每台应用机器就会收到 Zookeeper 的通知,然后从 Zookeeper 获取新的配置信息应用到系统中
 
  • 集群管理(Group Membership)
 
通过让集群中每个server监控一个临时的目录节点,当临时的目录节点状态发生变化时(临时目录节点对应的server宕机或新
 
增server),ZooKeeper通知所有server并重新分配服务策略
 
  • Leader选举
 
各Server注册到一个临时并带序号的节点,当Master Server宕机时对应的节点消失,ZooKeeper重新自动选择最小序号的
 
Server 为 Master,从而避免了传统意义上单 Master 容易出现单点故障的问题
 
  • 分布式锁(Locks)
 
各Server注册到一个临时并带序号的节点
 
  • 队列管理(Queue Management )
 
各Server注册到一个临时并带序号的节点
 
 
主要用途
 
ZooKeeper 主要是用来维护和监控一个目录节点树中存储的数据的状态。
 
从设计模式角度来看, ZooKeeper 是一个基于观察者模式设计的分布式服务管理框架,它负责存储和管理大家都关心的数据,然后
 
接受观察者的注册,一旦这些数据的状态发生变化,Zookeeper 就将负责通知已经在 Zookeeper 上注册的那些观察者做出相应的
 
反应
 
 
支持操作
 
  • 创建目录节点
 
  • 给目录节点设置数据
 
  • 获取目录节点的所有子目录节点
 
  • 给目录节点设置权限
 
  • 监控目录节点的状态变化
 
 
 
 
 

 

分布式服务管理框架 ZooKeeper