定义服务(Service)

如果我们想要将消息类型用在RPC(远程方法调用)系统中,可以在.proto文件中定义一个RPC服务接口,protocol buffer编译器将会根据所选择的不同语言生成服务接口代码及存根。如,想要定义一个RPC服务并具有一个方法,该方法能够接收 NewRequest并返回一个NewResponse,此时可以在.proto文件中进行如下定义:

  1. service NewService {
  2. rpc Search (NewRequest) returns (NewRequest);
  3. }

对于使用protocol buffer的RPC框架就是Grpc,Grpc在使用protocl buffer时非常有效,如果使用特殊的protocol buffer插件可以直接从.proto文件中产生相关的RPC代码。