上一篇文章中讲了json和jdk的序列化方式,这里讲使用protobuf来序列化
protobuf的介绍
Google Protocol Buffer( 简称 Protobuf) 是 Google
公司内部的混合语言数据标准,目前已经正在使用的有超过 48,162 种报文格式定义和超过 12,183 个 .proto 文件。他们用于
RPC 系统和持续数据存储系统。Protocol Buffers 是一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,或者说序列化。它很适合做数据存储或 RPC
数据交换格式。可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。目前提供了 C++、Java、Python
三种语言的 API。
更详细的信息可以查看下面这篇文章,我也是从那边摘录过的
https://www.ibm.com/developerworks/cn/linux/l-cn-gpb/index.html
使用protobuf生成java文件
如果你已经熟悉了protobuf的使用可以跳过这部分。
首先下载一个window版本的protobuf,我下载的是protoc-2.5.0-win32.zip的这个版本,下载链接如下:
https://github.com/protocolbuffers/protobuf/releases/download/v2.5.0/protoc-2.5.0-win32.zip
我下载的这个版本比较旧,因为我之前写的proto脚本是protobuf2的,下面的这个链接里可以下载最新的版本。
https://github.com/protocolbuffers/protobuf/releases
下载完成之后,解压,你会发现有个protoc.exe
可执行文件,然后新建一个proto
文件夹
进入 proto
文件夹,新建User.proto
文件。
然后用记事本打开User.proto
,然后输入一下代码
syntax = "proto2";
package kafka;
o