1.1 概述
Zookeeper是一个开源的分布式的,为分布式应用提供协调服务的Apache项目
Zookeeper从设计模式角度来理解:是一个基于观察者模式设计的分布式服务管理框架,它负责存储和管理大家都关心的数据,然后接受观察者的注册,一旦这些数据的状态发生改变,zookeeper就将负责通知已经在zookeeper上注册的那些观察者作出相应的反应,从而实现集群中类似Master/slave管理模式。
zookeeper=文件系统+通知机制
1.2 应用场景
提供的服务包括:分布式消息同步和协调机制,服务器节点状态上下线,统一配置管理,负载均衡,集群管理等。
这是zookeeper的典型应用场景:数据发布和订阅
集中式配置中心(push 和 Pull)
(1)应用启动时主动到zookeeper上获取配置信息,并注册watcher监听
(2)配置管理员变更zookeeper配置节点的内容
(3)zookeeper推送变更到应用,触发watcher回调函数
(4)应用根据逻辑 主动获取新的配置信息 更改自身逻辑
适用于配置信息多设备共享 会发生动态变化
(1)Register负责域名的注册,服务启动之后将域名信息通过register注册过Register注册到zookeeper相对应的域名服务下。
(2)Dispatcher负责域名的解析,可以实现软负载均衡
(3)Scanner通过定时监测服务状态 动态更新节点地址信息
(4)Monitor负责收集服务信息与状态监控
(5)Controller提供后台的console,提供配置管理功能
#1.3 下载地址
官网首页:https://zookeeper.apache.org/