GRPC 在 Cloud Foundry 中如何工作? GoRouter 不支持 HTTP2

Posted

技术标签:

【中文标题】GRPC 在 Cloud Foundry 中如何工作? GoRouter 不支持 HTTP2【英文标题】:How does GRPC work in Cloud Foundry? GoRouter doesn't support HTTP2 【发布时间】:2019-08-21 14:43:56 【问题描述】:

我需要使用 GRPC 进行 2 个微服务之间的相互通信。但是默认情况下,Cloud Foundry 使用不支持 Http2 的 Go 路由器。而且默认情况下,许多云代工厂安装不会暴露 TCP 端口本身。是否有任何解决方法或有任何接口可以支持这种情况?

我尝试过将 EUREKA 与弹簧靴一起使用。它仍然使用 HTTP1.1。

【问题讨论】:

【参考方案1】:

你是对的,Gorouter 不支持 HTTP/2。要使 HTTP/2 和/或 gRPC 在 CF 上运行,您有两种选择。

    如果您需要公共客户端(即 CF 外的客户端)连接到您的应用程序,则需要使用 TCP 路由。如果您的提供程序默认未启用此功能,请查找其他提供程序(请参阅this list of public providers,提示 Pivotal Web 服务将根据请求提供 TCP 路由)或自托管。

    如果您只需要在 CF 上运行的应用程序之间使用 HTTP/2 和/或 gRPC,您可以使用容器到容器网络。当您与应用程序交谈时,没有任何限制(只要您正确打开所需的端口)。您可以使用 TCP、UDP 和任何基于它们构建的协议。有一些关于它是如何工作的细节here。

希望有帮助!

【讨论】:

以上是关于GRPC 在 Cloud Foundry 中如何工作? GoRouter 不支持 HTTP2的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Cloud Foundry Rabbit MQ 服务启用涡轮流

如何让 Cloud Foundry 从 React 应用程序中的特定 .env 文件中读取?

如何在SAP云平台的Cloud Foundry环境下添加新的Service(服务)

如何在SAP云平台的Cloud Foundry环境下添加新的Service(服务)

如何将 Spring Boot 部署到 Cloud Foundry?

将微服务部署到 Cloud Foundry