【问题标题】:Generate client for existing gRPC server为现有 gRPC 服务器生成客户端
【发布时间】:2021-01-05 09:34:28
【问题描述】:

当我深入了解 gRPC 服务器代码时,我可以查看并获取服务 .proto 文件并使用它来生成(编码)客户​​端。

但是其他人的 gRPC 服务呢?是否有类似 wsdl 定义的东西可以使用并由托管服务本身提供?

或者反过来问:我怎样才能允许其他人连接到我的服务?我怀疑我必须通过电子邮件向人们发送 .proto 文件。

【问题讨论】:

    标签: c# visual-studio server grpc


    【解决方案1】:

    Protos 是 gRPC 服务的定义。

    分发 protos 是 gRPC 等价于共享,例如基于 REST 的 API 的 Swagger 文档。

    您有多种选择:

    1. 为您的服务构建基于 gRPC 的 SDK(使用您的原型)并使其可用(GitHub、下载站点等)。谷歌 (link) 和其他人今天这样做是为了他们的服务。这种方法的优点是您的用户可以更快地开始并且/或者您可以提供更高级别的抽象。缺点是您需要通过 protobufs 使这些保持最新。

    2. 提供原型(GitHub、网站等)并让您的用户自己构建 SDK。谷歌也使用这种方法。这样做的好处是您的用户可以按需使用他们需要的语言构建 SDK。

    3. 如果您的客户端需要 REST,请使用 gRPC 网关并使用例如发布您的 gRPC 服务。大摇大摆。

    【讨论】:

    • 很好的答案!在将其标记为答案之前,很想听听有关服务器反射和 Evans 的信息,您能否详细说明一下?
    猜你喜欢
    • 2016-01-27
    • 2020-09-09
    • 2018-04-12
    • 2021-04-10
    • 1970-01-01
    • 2019-10-19
    • 2020-10-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多