Zookeeper 之 客户端流程

客户端主要由几个核心组件组成:

 1.Zookeeper 类,入口。

 2.ClinentWatchManager:watcher管理器。

 3.HostProvider:地址列表管理器。

 4.ClientCnxn 核心类,内部包含两个线程,

  •  SendThread  处理 I/O的线程。
  • EventThread 处理事件的线程。维护一个 waitingEvents 队列。

一次会话的创建过程,分为三个阶段:

  1.初始化阶段

  • 初始化 zookeeper 实例
  • 设置Watcher
  • 构造 HostProvider,地址列表管理器
  • 初始化 ClientCnxn
  • 初始化 SendThread 和 EventThread

   2.会话创建阶段

  • 启动  SendThread 和 EventThread
  • 随机获取一个服务器地址
  • 创建 TCP 连接
  • 构造 ConnectRequest 请求
  • 发送请求

   3.响应处理阶段。

  • 接受服务器响应
  • 处理 Response
  • 连接成功
  • 生成事件:SyncConnected.None
  • 查询 Watcher
  • 处理事件

    

猜你喜欢

转载自blog.csdn.net/m0_37039331/article/details/88764501