百度一下你就知道 官网,seocui cn,h5网页设计模板,巩义关键词优化推广目录 序列化与反序列化通信协议请求头的数据结构响应头的数据结构 序列化与反序列化
zookeeper的客户端与服务端、服务端与服务端之间会进行一系列的网络通信#xff0c;在进行数据的传输过程中就涉及到序列化与反序列化#xff0c;zookeeper使用Jute作为它的序列化组件在进行数据的传输过程中就涉及到序列化与反序列化zookeeper使用Jute作为它的序列化组件在使用的时候需要序列化与反序列化的对象实现Record接口并实现该接口的serialize()和deserialize()方法先看下接口Record 它只有两个方法分别是serialize()和deserialize()下面以ReplyHeader为例看下它的使用。 实现接口Record 创建BinaryOutputArchive 序列化。上一步中调用BinaryOutputArchive的writeRecord()方法看下源码 进入writeRecord()方法调用Record实现类的serialize()方法进行序列化。 反序列化。创建BinaryInputArchive调用Record实现类的deserialize()方法进行反序列。 以上就是Jute进行序列化与反序列化的基本过程。
通信协议
基于TCP/IP协议zookeeper实现了自己的通信协议设计上客户端与服务端、服务端与服务端之间的网络通信数据结构对于请求包含数据总长度、请求头与请求体对于响应包含数据总长度、响应头与响应体如下图。
请求协议 响应协议 请求头的数据结构 响应头的数据结构 对于请求体与响应体不同的请求体和响应体的数据结构是不同的可以参考/zookeeper-jute/target/generated-sources/java/org/apache/zookeeper/proto该目录下的类。