【发布时间】:2021-01-05 09:34:28
【问题描述】:
当我深入了解 gRPC 服务器代码时,我可以查看并获取服务 .proto 文件并使用它来生成(编码)客户端。
但是其他人的 gRPC 服务呢?是否有类似 wsdl 定义的东西可以使用并由托管服务本身提供?
或者反过来问:我怎样才能允许其他人连接到我的服务?我怀疑我必须通过电子邮件向人们发送 .proto 文件。
【问题讨论】:
标签: c# visual-studio server grpc
当我深入了解 gRPC 服务器代码时,我可以查看并获取服务 .proto 文件并使用它来生成(编码)客户端。
但是其他人的 gRPC 服务呢?是否有类似 wsdl 定义的东西可以使用并由托管服务本身提供?
或者反过来问:我怎样才能允许其他人连接到我的服务?我怀疑我必须通过电子邮件向人们发送 .proto 文件。
【问题讨论】:
标签: c# visual-studio server grpc
Protos 是 gRPC 服务的定义。
分发 protos 是 gRPC 等价于共享,例如基于 REST 的 API 的 Swagger 文档。
您有多种选择:
为您的服务构建基于 gRPC 的 SDK(使用您的原型)并使其可用(GitHub、下载站点等)。谷歌 (link) 和其他人今天这样做是为了他们的服务。这种方法的优点是您的用户可以更快地开始并且/或者您可以提供更高级别的抽象。缺点是您需要通过 protobufs 使这些保持最新。
提供原型(GitHub、网站等)并让您的用户自己构建 SDK。谷歌也使用这种方法。这样做的好处是您的用户可以按需使用他们需要的语言构建 SDK。
如果您的客户端需要 REST,请使用 gRPC 网关并使用例如发布您的 gRPC 服务。大摇大摆。
【讨论】: