AWS - 为什么应用程序负载均衡到 Lambda 的目标组

问题描述 投票:0回答:3

我了解 AWS 应用程序负载均衡器可以具有:

  • EC2 实例作为目标组
  • Lambda 作为目标群体

既然 Lambda 有自己的并发系统(也已经配置了并发),为什么需要负载均衡到 Lambda?

如果应用程序负载均衡器可用于通过 URL 路由到不同的 Lambda 函数,那么 API Gateway 不是更好的选择吗?

amazon-web-services amazon-ec2 amazon-elb
3个回答
3
投票

ALB对lambda的支持并不是为了它的并发性。该支持旨在使您的 lambda 函数能够作为 Web 服务提供。默认情况下,无法从 Internet 调用 Lambda 函数。要使其可用作 Web 应用程序,一种方法是通过 ALB(另一种方法是 API 网关)。

因此,带有 ALB 的 lambda 通常将用作完整 Web 应用程序的一部分,与 EC2 实例一起运行。但是您可以将 ALB 设置为由 lambda 函数处理其路径之一。通常,此类 lamnda 函数被用作代理,以获取外部 API,或提供访问权限,这在 EC2 实例中实现起来很麻烦。


1
投票

长答案:

https://serverless-training.com/articles/api-gateway-vs-application-load-balancer-technical-details/

简短的回答:

“如果您正在构建 API 并希望利用 AuthN/Z、请求验证、速率限制、SDK 生成、直接 AWS 服务后端,请使用 #APIGateway。如果您想将 Lambda 添加到 ALB 后面的现有 Web 应用程序中,您现在只需将其添加到所需的路由即可。”

最短答案:

你是对的。一般来说 API Gateway 是更好的选择。


0
投票

例如,在我的架构中,我开发了一个聊天机器人,对 Azure ChatGPT-4 进行 API 调用,API 调用由 5 个不同的 Lambda 函数进行,并由 Amazon ALB 进行负载平衡。为什么我使用 5 个不同的 Lambda 函数?因为每个 Lambda 函数都针对不同的 Azure ChatGPT-4 端点,每个端点位于不同的 Azure 区域。

© www.soinside.com 2019 - 2024. All rights reserved.