欢迎大家注意github.com/hsfxuebao。我希望这对每个人都会有所帮助。如果您认为有可能
上一部分介绍了服务器服务器的重要组件体系结构和启动过程。
本文是介绍ZK客户端客户端的重要体系结构组件。这部分是我们开发连接ZK的最常用部分。无论是使用ZK Native API还是由策展人封装的ZK操作,都无法避免。
在对以下疑问的分析前面:ZK客户端连接,发送数据和通知的重要类是什么。?将从这些角度删除本文并分析Java编程过程。
对于ZK客户端和服务器之间的特定过程,例如特定过程和不同操作的实现,下一部分将详细留在下一部分中。
注意:本文基于ZK版本3.7分析。
客户端的基本重要组成部分如下:
从图可以看出,有五个基本组件,包括程序API操作类Zookeeper和其他四个子组件。接下来,我们通常会介绍其主要功能责任:
接下来在连接和交互式连接和交互时引入重要组件。
UML类图如下:
除客户端Socketnio外,以上类别继承了客户端。其他类别没有继承关系。然而
它形成UML类图如下:
UML图结构很简单。由于数据包是数据包的对象,因此它不可避免地包含许多其他对象,例如请求头,响应头,请求和响应等。一种对象:某些对象:
它形成UML类图如下:
客户端侦听器上的组件不多,基本上包括三个监视事件。接下来,稍微分析这些组件:
上面介绍了主要组件和一般功能。接下来,让我们通常在客户端介绍这些组件的相互作用关系。相互作用关系图如下:
乍一看,此主要交互图更复杂,但实际上可以分为三个部分:.NEXT,分析这三个部分的一些具体细节:
:互动的这一部分的核心是SendThread,WatchRegistration和听众的载体和相应的事件WatchEteTeTeventPair,然后谈论其互动:
在查询事件的数组中调用相应的侦听器:此部分属于操作过程中的终点。它将使用先前保存的旋转事件来确定相应的调用。互动的这一部分的核心是EventThread,Watcher,Asynccallback和WatcherSeteventPair.Talk与他们的互动:
Zkclient客户端,策展人客户端,请参阅:Zookeeper安装和客户端使用
结论首先:
客户端想要创建一个连接,该连接将用于表示服务器连接。后续关闭连接已关闭,代表服务器的ZK对象将被删除。
我们知道,常用的ZK客户端技术包括ZKCLIENT客户端,策展人客户端,并且客户端将在连接ZK服务器时配置群集信息,并且客户端将配置群集信息,并且
以下是Zkclient使用的演示:
请按照ZKCLIENT源代码查看如何连接。来自Zkclient结构:
通过上面的源代码跟踪,看到ZKClient连接实际上是通过ZKConnection.connect方法连接的,我们继续跟踪ZKConnection
以下是策展人使用的演示:
请按照策展人源代码查看如何连接。从client.start()开始:
关注client.start();此方法:
继续跟踪state.start();
查看handingholder.getzookeeper()方法的关键点:
直接从数据中获取它,Hepler何时创建它?回去,看看该方法:
让我们看看如何创建data.zookeeeeperhandle:
相应的流程图是:
可以看出,我们将在ZK源代码中分析Zookeeper对象。
本文仅分析客户端客户端的重要组成部分和简单的交互。将来,将来将分析客户端和服务器的详细交互和特定参数配置原理。
Zookeeper 3.7版本GitHub源代码注释分析
## ZK源代码分析系列
Zookeeper原理和源代码学习系列Zookeeper学习系列Zookeeper源代码系列
原始:https://juejin.cn/post/7099999016213020708