代码之家  ›  专栏  ›  技术社区  ›  Sredny M Casanova

在一个应用程序中提供GRPC和restful服务

  •  -1
  • Sredny M Casanova  · 技术社区  · 7 年前

    我有一个restful应用程序,现在我必须使这个应用程序也作为grpc服务器(我已经创建了所需的文件)。我有restful端点在端口8000中运行,现在我有以下问题:

    1. 我可以在同一个实例中为grpc和restful应用程序提供服务器吗?
    2. 我应该分配一个不同的端口来服务GRPC吗?
    3. 在这种情况下,推荐的方法是什么?因为GRPC存根 被我们的一些微服务所消耗,但是restful将 被某些应用程序的前端使用
    4. 如果我可以为both服务,我应该如何初始化服务器?
    1 回复  |  直到 7 年前
        1
  •  1
  •   Carl Mastrangelo    7 年前
    1. 对!如果你想为GRPC服务 作为 一个宁静的服务,有一个 gRPC Gateway 一个项目,允许你注释你的原型,以便他们可以服务于休息。

    2. 是的,但这有点棘手。go中的grpc服务器实现 net/http.Handler ,以便将其添加到现有的http服务器。获得匹配的url路径是您需要处理的问题,但这肯定是可能的。

    3. 我认为没有任何推荐的方法。它主要取决于环境约束(例如是否有代理、如何加密连接等)。

    4. 首先初始化grpc服务器,然后将其添加到http服务器。