protobuf (序列化协议)

出品方为google,详见ibm技术文档: http://www.ibm.com/developerworks/cn/linux/l-cn-gpb/

1.简介

Protocol Buffers 是一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,或者说序列化。它很适合做数据存储或 RPC 数据交换格式。可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。目前提供了 C++、Java、Python 三种语言的 API。

2.使用过程

写一个 proto 文件,定义我们程序中需要处理的结构化数据。

写好 proto 文件之后就可以用 Protobuf 编译器将该文件编译成目标语言了。

使用com.google.protobuf.GeneratedMessage.Builder来序列化对象。

3.其他协议对比

3.1 性能

protobuf序列化后的文件尺寸小,序列/反序列化性能高。

3.2 便利性

json肉眼可读,而protobuf是二进制。

3.3 使用场景

客户端与服务端的低频短消息通信可用json。
server之间高频的对象传输(如消息队列)用protobuf等。

你可能感兴趣的:(数据读写(I/O))