发布于: Oct 29, 2020

Application Load Balancer (ALB) 现在支持 gRPC 协议。在此版本中,您可以在微服务之间或启用 gPRC 的客户端和服务之间使用 ALB 路由您的 gPRC 流量并对其进行负载平衡。它将让客户可以在其架构中无缝引入 gPRC 流量管理,而无需更改客户端或服务上的任何底层基础设施。

gPRC 在传输时采用 HTTP/2,并且正在成为构建在以微服务为基础的架构上的应用程序进行服务间通信时的首选协议。它具有 HTTP/2 的内在优点,如更小的网络足迹和压缩等,以及诸如高效二进制序列化、支持众多语言和双向流式传输等功能。由于其性能优点,开发人员也已经开始将 gRPC 用于客户端以处理通信。

要在您的 ALB 上使用该功能,选择 HTTPS 作为您的侦听器协议,选择 gRPC 作为您的目标组和注册实例的协议版本,或 IP 作为已配置目标组的目标。ALB 提供基于富内容的路由功能,这些功能让您可以检查 gRPC 调用,并根据请求的服务和方式将它们路由到适当的目标组。在一个目标组内,ALB 将使用特定于 gRPC 运行状况检查来确定目标的可用性,并提供特定于 gRPC 的访问日志对您的流量进行监控。

此版本还为客户提供将 HTTP/2 配置为目标组协议的功能。这样做可以使端对端 HTTP/2 从客户端流到目标,甚至在您未使用 gRPC 时依然提供 HTTP/2 优化的优点。如果需要,您可以在单个 ALB 后面支持任何组合的 gRPC、HTTP/2 和 HTTP/1.1 应用程序。

现有和新的 Application Load Balancer 均支持 gRPC 和端对端 HTTP/2,并且在所有 AWS 区域不会产生额外费用。要了解更多,请参阅博客文章演示,以及 ALB 文档