【发布时间】:2021-11-29 01:16:08
【问题描述】:
我从上周开始学习 gRPC / protobuf,我想找出微服务的最佳架构。所以其中一件事是单独拥有一个 IDL 存储库。如果是这样,任何服务都可以生成存根文件,而无需从另一个服务复制/粘贴原始文件。有可能吗?
【问题讨论】:
标签: go protocol-buffers grpc stub
我从上周开始学习 gRPC / protobuf,我想找出微服务的最佳架构。所以其中一件事是单独拥有一个 IDL 存储库。如果是这样,任何服务都可以生成存根文件,而无需从另一个服务复制/粘贴原始文件。有可能吗?
【问题讨论】:
标签: go protocol-buffers grpc stub
IIRC protoc 确实 not 允许通过 URL 引用 protos,这很不幸,因为这是一个合理的要求。代码生成的特定语言实现可能会启用此功能。
我建议您在单独的(原型)存储库中发布项目的原型(可能还有缓存代码 protoc-从它们生成)。这有助于重用、独立版本控制并鼓励跨语言使用。
如果原型被捆绑在例如一个包含 Golang 服务器实现的 repo,仅克隆 protos 以生成例如更加困难。 Python 客户端。
【讨论】: