Zookeeper实现原理分析

Zookeeper实现原理分析,第1张

Zookeeper实现原理分析 一、zookeeper概述

1、zookeeper:是一个开源的、分布式的,为分是不是框架提供协调服务的Apache框架。

2、zookeeper工作机制:基于观察者模式设计的分布式服务管理框架,负责存储和管理大家都关心的数据,然后接收观察者的注册,一旦数据状态发生变化,zookeeper将负责通知已经在zookeeper上注册的那些观察者做出相应的反应。

3、zookeeper特点:

  1. 一个领导者leader,多个跟随着follower组成的集群。
  2. 集群中只要有半数以上节点存活,zookeeper集群就能正常服务,所以zookeeper适合按照奇数台服务器。
  3. 全局数据一致:每个server保存一份相同的数据副本,client无论连接到哪个server,数据都是一致的。
  4. 更新请求顺序执行,来自同一个client的更新请求按其发送顺序依次执行。
  5. 数据更新原子性,一次数据更新要么成功,要么失败。
  6. 实时性:在一定时间范围内,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选举机制

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5669790.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存