开发学院

您的位置:首页>教程>正文

教程正文

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