发布于: Oct 29, 2020

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

gRPC 使用 HTTP/2 进行传输,对于在基于微服务的架构上构建的应用程序而言,gRPC 已成为服务间通信的首选协议。它提供了 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,并且在所有 亚马逊云科技区域中均无需额外付费。要了解更多信息,请参阅博客文章演示和 ALB 文档。