来自谷歌的序列化方式-Protobuf
一、什么是Protobuf
Google Protocol Buffer( 简称 Protobuf) 是 Google 公司内部的混合语言数据标准,目前已经正在使用的有超过 48,162 种报文格式定义和超过 12,183 个 .proto 文件。他们用于 RPC 系统和持续数据存储系统。
Protocol Buffers 是一种轻便高效的结构化数据存储格式,可以用于序列化(结构化数据串行化)。它很适合做数据存储或 RPC 数据交换格式。可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。
和json
、xml
如出一辙,之所以要学习protobuf
是因为这种序列化方式得到的数据体积是很小的,这就导致了它在网络传输性能以及存储方面的优势;因为体积小,让protobuf
序列化的数据传输性能高,磁盘占用率也低;所以protobuf
序列化的场景一般出现在高性能业务中,基本上是通过tcp
+protobuf
的通信方式取代http
+json
;
二、举个栗子🌰
编写protobuf之前,需要使用先下载protoc工具,将proto转换为目标语言需要的代码。
2.1安装protoc
下载地址:https://github.com/protocolbuffers/protobuf/releases/
- 下载对应系统的protoc版本
设置环境变量
检查是否安装成功
protoc –version
2.2转换
1 | // 使用proto3语法 |
转换命令
1 | protoc --java_out=. News.proto |
转换结果
1 | 本文为个人知识学习,非原创!非作者!如本博客有侵权行为,请与我联系。 |