GRPC 服务继承

GRPC Service Inheritance

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

假设我有服务:

service Foo {
  rpc FooCallOne(FooRequestOne) returns (FooResponseOne);
  rpc FooCallTwo(FooRequestTwo) returns (FooResponseTwo);
}

并且我想创建一个 service Bar,以便它实现 service Foo 中的所有服务。这在原型文件中可能吗?

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

不,protobuf中没有服务继承。

相反,您可以在 service Bar 中发表评论,说明使用 service Foo 进行操作。这意味着 service Foo 可能需要在各种其他服务之间进行协调,特别是如果您有一个 service Baz 也 "inherits" service Foo.

唯一的其他选择是复制方法,此时它们成为新的、不同的方法并且与service Foo没有任何关系。