如何在AWS上平衡gRPC的负载

Jim*_* M. 8 load-balancing amazon-elastic-beanstalk grpc elastic-load-balancer

我已经看了一个星期了,却找不到任何对我有帮助的东西。我会成为先行者,我是AWS的新手,所以我确定一切都在脑海中浮现。

问题

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

我尝试过 的内容:

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

我确实尝试了以下简单的解决方案:设置“经典负载平衡器”,然后在gRPC端口上具有TCP的侦听器,但是当我尝试连接至该端口时,它显示“连接被拒绝”,这使我认为LB不是不能正常工作(打开该端口),但是一切都表明它是正确的,并且它正确地请求了REST请求。

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

Kubernetes

有人建议我使用Kubernetes(Amazon的EKS),但在此我仍然很熟练。这是可能的,如果有的话,还有指针吗?

提前致谢

dol*_*lan 3

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/