1、zookeeper:是一个开源的、分布式的,为分是不是框架提供协调服务的Apache框架。
2、zookeeper工作机制:基于观察者模式设计的分布式服务管理框架,负责存储和管理大家都关心的数据,然后接收观察者的注册,一旦数据状态发生变化,zookeeper将负责通知已经在zookeeper上注册的那些观察者做出相应的反应。
3、zookeeper特点:
- 一个领导者leader,多个跟随着follower组成的集群。
- 集群中只要有半数以上节点存活,zookeeper集群就能正常服务,所以zookeeper适合按照奇数台服务器。
- 全局数据一致:每个server保存一份相同的数据副本,client无论连接到哪个server,数据都是一致的。
- 更新请求顺序执行,来自同一个client的更新请求按其发送顺序依次执行。
- 数据更新原子性,一次数据更新要么成功,要么失败。
- 实时性:在一定时间范围内,client能读到最新的数据。
4、zookeeper数据结构:
zookeeper数据模型的结构与Linux文件系统很类似,整体上可以看作是一颗树,每个节点称作一个znode。每一个znode默认能够存储1MB的数据,每个znode都可以通过其路径唯一标识。
5、zookeeper应用场景:
(1)统一域名服务:在分布式环境下,经常需要对服务进行统一命名,便于识别。
(2)统一配置管理:在分布式环境下,配置文件同步。
(3)统一集群管理:在分布式环境下,实时掌握每个节点的状态。
(4)软负载均衡:zookeeper记录每台服务器的访问次数,让访问次数最少的服务器去处理最新的客户端请求。
6、zookeeper配置文件:zoo.cfg
(1)tickTime=2000:通信心跳时间,zookeeper服务器与客户端心跳时间,单位ms。
(2)initLimit=10:lf初始化通信时限。
(3)syncLimit=5:lf同步通信时限。
(4)dataDir:保存zookeeper中的数据。默认的tmp目录。
(5)clientPort=2181:客户端连接端口,通常不做修改。
7、zookeeper选举机制
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)