6

我有两个使用 gRPC 进行通信的微服务。两者都是部署在 ECS 上的 docker 应用程序。如何配置它们以使用 AWS ALB?在文档中它说 ALB 支持 HTTP/2,但是我只能看到 HTTP1 设置。我的应用程序在 8080 有一个 gRPC 端口和一个运行状况检查 API。如何在 ALB 上进行配置?

4

2 回答 2

5

我不相信你可以。

ALB “支持” HTTP2,但仅限于它们可以接受 HTTP2 并在转发到 HTTP1 之前将其解复用。

您可以使用 AWS 较新的“NLB”,尽管它还有其他问题。执行此操作的更多详细信息https://blog.prefab.cloud/blog/grpc-aws-some-gotchas

于 2018-06-24T18:24:29.727 回答
0

截至 2020 年 10 月 30 日,现在可以做到这一点,因为对 HTTP/2 的端到端支持终于被添加到 ALB。

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

查看这些博客文章以了解如何在 ECS 上进行设置:

  1. 使用 Fargate 启动类型:https ://aws.amazon.com/blogs/opensource/containerize-and-deploy-a-grpc-application-on-aws-fargate/
  2. 使用 EC2 启动类型:https ://dev.to/chaitan94/deploying-a-grpc-service-in-ecs-with-the-ec2-launch-type-2aa
于 2020-11-01T17:04:33.560 回答