1.1.Zookeeper是什么:
- 1.Zookeeper是一个开源的分布式的,
为分布式框架提供协调服务
的一个Appache项目
1.2.Zookeeper功能:
- 1.统一命名服务
- 2.统一配置管理
- 3.统一集群管理
- 4.服务器节点动态上下线;
- 5.软负载均衡
1.3.Zookeeper应用场景:
a.统一命名服务举例:
- 1.比如说:在分布式环境下,经常需要对应用/服务进行统一命名,便于识别。例如:IP不容易记住,而域名容易记住
b.统一配置管理举例:
- 1.分布式环境下,
配置文件同步
非常常见。- 一般都要求在一个集群中,所有节点的配
置信息必须都是一致
的,比如说:kafka集群 - 对
配置文件更改后,希望能够快速同步到各个节点
上。
- 一般都要求在一个集群中,所有节点的配
- 2.配置管理可交由ZooKeeper实现:
- 可将配置信息写入ZooKeeper上的一个Znode
- 各个客户端服务器监听这个Znode。
- 一 旦Znode中的数据被修改,ZooKeeper将通知下面各个客户端服务器。
c.统一集群管理
- 1.分布式环境中,
实时掌握每个节点的状态是必
要的,可根据节点实时状态做出一些调整
。 - 2.
ZooKeeper可以实现实时监控节点状态变化
- 可将
节点信息写入
ZooKeeper上的一个ZNode
。 监听这个ZNode可获取它的实时状
态变化。
- 可将
d.服务器节点动态上下线
- 1.服务端启动时去注册信息,创建临时节点
- 2.客户端获取当前在线服务器列表,并且注册监听
- 3.服务器2节点下线了,zookeeper监听到
- 4.Zookeeper告诉客户端,服务器节点下线事件通知
e.软负载均衡
- 1.在Zookeeper中记录每台服务器的访问数,让访问数最少的服务器去处理最新的客户端请求