如何在AWS上平衡gRPC的负载

时间:2018-08-27 20:31:08

标签: elastic-beanstalk load-balancing grpc elastic-load-balancer

我已经看了一个星期,却找不到任何可以帮助我的东西。我会先行的,我是AWS的新手,所以我确保一切都在飞过。

问题

我目前正在编写一个正在部署到Elastic Beanstalk的应用程序,该应用程序是用Spring Boot编写的,并公开了几个RESTful API, IT ALSO 也通过gRPC公开了一些API。 AWS Load Balancer的REST API没有问题(如预期的那样),但我似乎无法使其与gRPC一起使用。

我尝试过的事情 看着:

尽我所能解释的是,有很多人说这是可能的,但是我遗漏了一些简单的东西,或者他们没有提供任何有关您需要在AWS中做什么才能使其正常工作的信息。 / p>

我确实尝试了简单的解决方案,即设置“经典负载平衡器”,然后在gRPC端口上有一个 TCP 的侦听器,但是当我尝试连接到该端口时,它说“连接拒绝”,这使我认为LB无法正常工作(打开该端口),但所有人都说是正常,并且LB的REST请求正确无误。

我尝试使用新的负载均衡器,但遇到一些配置问题,我正在等待某人从假期回来以帮助我解决问题。

Kubernetes

有人建议我使用Kubernetes(亚马逊上的EKS),但在这里我再次感到非常不熟练。这可能吗?如果有的话,可以这样吗?

预先感谢

1 个答案:

答案 0 :(得分:2)

2020 年 10 月 29 日,AWS 宣布应用程序负载均衡器 (ALB) 现在支持 gRPC 协议。有关如何配置 ALB 以处理 gRPC 流量的说明,请参阅公告。

<块引用>

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

https://aws.amazon.com/about-aws/whats-new/2020/10/application-load-balancers-enable-grpc-workloads-end-to-end-http-2-support/