Zookeeper 理解

  1. zookeeper 简介
    zookeeper是分布式应用协调者,高吞吐低延迟,提供分布式统一配置、服务注册、分布式锁等功能。数据存在内存中,持久化实现在日志中,内存结构类似于树形结构

  2. zookeeper 安装

  1. zookeeper 配置
    zoo.cfg的关键配置有3个:
    tickTime=2000:一次心跳的基本时间
    dataDir:数据与日志的存放地方
    clientPort:端口号

  2. zookeeper连接
    client连接zookeeper服务器
    支持TCP连接,发送请求、获取响应,获取监听事件、发送tick心跳

  3. zookeeper特点

  • zookeeper结构简单,每个目录为Znode节点,可以是目录,也可以存放数据
  • 没有相对目录,只有绝对目录,以“/”为根
  • Znode节点类型:持久节点、临时节点、顺序节点、临时顺序节点
  • 每个写请求都有对应一个zxid事务ID,全局唯一且有序
  • 客户端会定时发送tick给zookeeper服务器
  • 每个Znode节点的大小限制为1M
  • 每个客户端的操作是按照顺序执行的,每个操作具有原子性
  • 连接到哪个zookeeper服务器,获取的结果都一样
  1. zookeeper Session会话
  • 客户端和zookeeper服务器保持一个TCP连接,一个TCP连接就是一个Session会话,由zookeeper分配唯一的SessionID

  • 客户端主动定时间隔向zookeeper服务器发送心跳,以保持Session有效,若超过Session timeout(默认2倍 tickTime)时间收到Client心跳,则此Client失效

  1. zookeeper watch机制
    Znode节点支持监听事件,监听Znode节点的变化,包括增删改查

触发watch事件:create、delete、change、child(子节点事件)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容