【Zookeeper读书笔记-2】序列化框架Jute

1 Jute概念

ZK客户端与服务端的网络通信和数据传输,需要首先解决的事数据序列化与反序列化问题。

Jute前身是Hadoop Record IO,后来Hadoop框架采用Avro(跨语言特性好,数据结构丰富,对MR的支持),Record IO就被剥离出来成为Jute。

Jute对于ZK不是性能瓶颈,因此一直沿用。

2 Jute基础

2.1 序列化

网络通信中,基于二进制传输数据,这就会涉及到序列化,反序列化过程。

序列化:将内存中的对象转换成二进制的过程

反序列化:从网络中接收到的数据转换成内存中对象的过程

序列化反序列化中还需要定义序列化协议即数据相互变换的机制。

2.2 Jute序列化机制

Jute实现序列化的步骤包括:

构建序列化对象:对象实现Record接口,自定义serialize与deserialize方法

设计序列化器:序列化器接口是OutputArchive,三种实现:BinaryOutputArchive,CsvOutputArchive和XmlOutputArchive,分别对应无特殊格式,有csv格式和有xml格式的数据序列化。

设计反序列化器:反序列化器接口是InputArchive,三种实现:BinaryInputArchive,CsvInputArchive和XmlInputArchive,分别对应无特殊格式,有csv格式和有xml格式的数据序列化。

3 Jute通信协议

请求:请求头,请求体

响应:响应头,响应体

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值