1.工作机制
2.zookeeper的特点
3.zookeeper的数据结构
zookeeper的数据模型结构与Unix文件很类似,整体上可以看作是一棵树,每个节点称作一个ZNode。每个ZNode默认能够存储1MB的数据,每个ZNode都可以通过其路径唯一标识。
4.zookeeper的应用场景
4.1统一命名服务
4.2统一配置管理:
(1)分布式环境下,配置文件同步,要求一个集群中的所有配置信息都是一致的,比如kafka集群
(2)对配置文件修改后,希望能够快速同步到各个节点上
(3)配置管理交由zooKeeper实现: ①可以将配置信息写入到zookeeper上的一个ZNode;②各个客户端服务器监听这个ZNode③一旦ZNode中的数据被修改,zookeeper将通知各个客户端服务器。
4.3统一集群管理
4.4服务器动态上下线
4.5软负载均衡:
在zookeeper中记录每台服务器的访问数,让访问最少的服务器去处理最新的客户端请求。
zookeeper的配置参数
(1)tickTime = 2000;通信心跳数;Zookeeper服务器与客户端心跳时间,单位为毫秒;
zk使用的基本时间,服务器之间或者客户端与服务器之间维持心跳的时间间隔,也就是每个tickTime时间就会发送一个心跳,时间单位为毫秒。用于心跳机制,并且设置最小的session超时时间为两倍的心跳时间。
(2)initLimit:LF初始通信时限
集群中的Follower跟随者服务器与Leader领导者服务器之间初始连接时,能容忍的最多心跳数,,用来限定集群中zk服务器连接到leader的时限。 initLimit*tickTime 长的时间
(3)syncLimit:LF同步通信时限
集群中Leader与Follwer之间最大响应时间单位,假如响应时间超过syncLimit*tickTime,Leader认为Follower挂掉,从服务器中删除Follower。
(3)clientPort:监听客户端连接的端口
(4)dataDir:数据文件目录+数据持久化路径