概述
主要讲述zookeeper客户端的的会话创建的过程,会话创建后服务端对会话是如何管理的。会话创建后,客户端发起读写操作的一整个流程是什么样的呢?
Zookeeper的会话机制
Zookeeper客户端和服务端的读写操作、Watcher通知机制等都是基于会话来实现的,会话本质上是一个TCP的长连接。
长连接的一个好处是创建连接后可以一直传输数据,不像短连接那样传输完数据后就关闭连接,因为网络中不同节点使用TCP协议通过SOCKET进行通信,首先需要3次握手建立连接,数据传输,4次握手断开连接,因此如果频繁的创建、关闭,是很耗费系统资源的。
短连接 : 连接->传输数据->关闭连接
长连接: 连接->传输数据->保持连接 -> 传输数据-> 。。。 ->关闭连接。
考虑到zookeeper的连接特性,一个客户端只会和你配置中的zookeeper server集群中的一台节点建立连接,可能是leader或者follower节点,只需要一个TCP长连接就足以应对,因选择一个TCP长连接,不失为一种最好的方案。
会话生命周期
- 初始化Zo