开发学院,分享开发教程和最新动态
章节列表 什么是ProtobufProtobuf3 定义数据类型Protobuf3 标量值类型Protobuf3 缺省值Protobuf3 枚举Protobuf3 使用其他消息类型Protobuf3 嵌套类型Protobuf3 更新消息类型Protobuf3 未知字段Protobuf3 Any类型Protobuf3 OneofProtobuf3 MapsProtobuf3 包Protobuf3 定义服务Protobuf3 JSON映射Protobuf3 可选项Protobuf3 生成属于自己的类Protobuf 风格指南Protobuf 编码(1)Protobuf 编码(2)Protobuf 编码(3)Protobuf 技术Protocol Buffer C++实例教程: 为什么使用Protocol Buffer?Protocol Buffer C++实例教程: 定义协议格式Protocol Buffer C++实例教程: 编译Protocol BufferProtocol Buffer C++实例教程: Protocol Buffer APIProtocol Buffer C++实例教程: 发送消息Protocol Buffer C++实例教程: 读取消息Protocol Buffer C++实例教程: 扩展Protocol BufferProtocol Buffer C++实例教程: 优化技巧和高级用法Protocol Buffer C#实例教程: 前言Protocol Buffer C#实例教程:定义协议格式Protocol Buffer C#实例教程:编译Protocol Buffer Protocol Buffer C#实例教程:解析和序列化Protocol Buffer Go实例教程:前言Protocol Buffer Go实例教程:定义协议格式Protocol Buffer Go实例教程:编译Protocol BufferProtocol Buffer Go实例教程:读写消息Protocol Buffer JAVA实例教程:前言Protocol Buffer JAVA实例教程:定义协议格式Protocol Buffer JAVA实例教程:编译Protocol BufferProtocol Buffer JAVA实例教程:Protocol Buffer APIProtocol Buffer JAVA实例教程:写消息Protocol Buffer JAVA实例教程:读消息Protocol Buffer JAVA实例教程:扩展Protocol BufferProtocol Buffer Python实例教程:前言Protocol Buffer Python实例教程:定义消息格式Protocol Buffer Python实例教程:编译Protocol BufferProtocol Buffer Python实例教程:Protocol Buffer APIProtocol Buffer Python实例教程:写消息Protocol Buffer Python实例教程:读取MessageProtocol Buffer Python实例教程:扩展Protocol Buffer

Protobuf3 定义服务

Protobuf3定义服务

  如果要将消息类型用于RPC (远程过程调用)系统,可以在.proto文件中定义RPC服务接口和协议缓冲编译器将使用您选择的语言生成服务接口代码和存根。因此,如果您想用一种接受您的搜索请求并返回搜索响应的方法来定义RPC服务,您可以在.proto文件中定义它。  如下:

service SearchService {
  rpc Search (SearchRequest) returns (SearchResponse);
}

  与协议缓冲区一起使用的最直接的RPC系统是gRPC : Google开发的语言和平台无关的开源RPC系统。gRPC与协议缓冲区配合得特别好,并允许您直接从使用特殊协议缓冲编译插件的.proto文件中生成相关的RPC代码。

  如果你不想使用gRPC,也可以在你自己的RPC实现中使用协议缓冲区。你可以在proto 2语言指南(https://developers.google.com/protocol-buffers/docs/proto?hl=zh-cn#services)中找到更多关于这一点的信息。

  还有许多正在进行的第三方项目来开发协议缓冲区的RPC实现。有关我们所知项目的链接列表,请参见第三方加载项wiki页面。地址:https://github.com/google/protobuf/blob/master/docs/third_party.md