Protocol Buffers

话题相关词汇:Protocol BuffersProtoBufproto2proto3
1 篇话题相关文章,更新时间:

Protocol Buffers(简称:ProtoBuf)是一种开源跨平台的序列化数据结构的协议。其对于存储资料或在网络上进行通信的程序是很有用的。这个方法包含一个接口描述语言,描述一些数据结构,并提供程序工具根据这些描述产生代码,这些代码将用来生成或解析代表这些数据结构的字节流。

概览

Google最初开发了Protocol Buffers用于内部使用。Protocol Buffers的设计目标是简单和性能。特别地,它被设计地与XML相比更小且更快。

Protocol Buffers在Google内被广泛用来存储和交换各种类型的结构化数据。在Google,它被当作一个RPC系统的基础,并被用于几乎所有的跨服务器通信。

Protocol Buffers和Apache Thrift和Ion等协议很相似,同时也提供了一个RPC协议栈gRPC来给上层服务使用。

语言支持

proto2提供一个程序产生器,支持C++、Java和Python。

第三方实现支持JavaScript。

proto3提供一个程序产生器,支持C++、Java (包含JavaNano)、Python、Go、Ruby、Objective-C和C#.从 3.0.0 Beta 2 版开始支持JavaScript。

第三方实现支持Perl、PHP、Dart、Scala和Julia.