RPC系列之--Protocol Buffers

本文介绍了Protocol Buffers,一种语言无关、平台无关的可扩展机制,用于序列化结构化数据。内容涵盖文档结构、注释、数据类型、消息类型、map映射、oneof特性和服务定义,详细解析了Proto Buffers的使用方法和注意事项,尤其强调了在gRPC中的应用和最佳实践。
摘要由CSDN通过智能技术生成

Protocol Buffers

Protocol Buffers 是一种与语言无关,平台无关的可扩展机制,用于序列化结构化数据。使用Protocol Buffers 可以一次定义结构化的数据,然后可以使用特殊生成的源代码轻松地在各种数据流中使用各种语言编写和读取结构化数据。

现在有许多框架等在使用Protocol Buffers。gRPC也是基于Protocol Buffers。 Protocol Buffers 目前有2和3两个版本号。

在gRPC中推荐使用proto3版本。


1 文档结构

1) Protocol Buffers版本
Protocol Buffers文档的第一行非注释行,为版本申明,不填写的话默认为版本2。

syntax = "proto3";
或者
syntax = "proto2";

2)Package包
Protocol Buffers 可以声明package,来防止命名冲突。 Packages是可选的。

package foo.bar;
message Open { ... }

使用的时候,也要加上命名空间,

message Foo {
  ...
  foo.bar.Open open = 1;
  ...
}

注意:对于Python而言,package会被忽略处理,因为Python中的包是以文件目录来定义的。

3)导入
Protocol Buffers 中可以导入其它文件消息等,与Python的import类似。

import “myproject/other_protos.proto”;

4)定义各种消息和服务
消息messge是用来定义数据的,服务service是用来gRPC的方法的。


2 注释

Protocol Buffers 提供以下两种注释方式。

// 单行注释
//
//
//
/* 
多行注释 



*/
<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值