GRPC服务继承

Sam*_*Sam 5 inheritance protocol-buffers grpc

gRPC 服务是否可以继承另一个服务?

假设我有服务:

service Foo {
  rpc FooCallOne(FooRequestOne) returns (FooResponseOne);
  rpc FooCallTwo(FooRequestTwo) returns (FooResponseTwo);
}
Run Code Online (Sandbox Code Playgroud)

我想创建一个service Bar这样的应用程序,它可以实现service Foo. 这在 proto 文件中可能吗?

如果没有,人们会建议什么?

Eri*_*son 6

不,protobuf 中没有服务继承。

相反,您可以评论说service Bar用于service Foo其操作。这意味着service Foo可能需要在各种其他服务之间进行协调,特别是如果您有一个service Baz也“继承”的服务service Foo。

唯一的其他选择是复制这些方法,此时它们将成为新的、不同的方法并且与service Foo.

  • 我最终为 ZeroMQ 编写了自己的“编译器”:P (2认同)