应用程序负载平衡器和Lambda的用例是什么?

时间:2018-12-06 06:55:11

标签: amazon-web-services aws-lambda

上周在ReInvent上,发布的公告之一是ALB现在可以调用Lambas来服务HTTPS请求。由于我们已经可以将API网关连接到Lambdas,因此我对这个新功能解决了什么问题感到困惑。

这是恭喜-https://aws.amazon.com/about-aws/whats-new/2018/11/alb-can-now-invoke-lambda-functions-to-serve-https-requests/

有人可以举一些例子吗?

3 个答案:

答案 0 :(得分:4)

解决的问题是,它允许使用Lambda函数的另一种方式来处理HTTP请求并生成响应。

...但是您已经可以使用API​​网关或CloudFront的Lambda @ Edge功能来做到这一点。

那么,真的解决了什么问题?

将Lambda请求处理简化集成到使用ALB的以服务器为中心的应用程序中。

从某种意义上说,此功能提供了API网关功能的一部分,但它在重要方面有所不同-通过允许您轻松地将Lambda函数“装入”现有的基于EC2的应用程序中的一组特定路径中

您可以选择特定的路径模式并将其仅发送到Lambda函数-在同一个域下,没有任何跨域复杂性,并且无需通过EC2实例代理请求-同时继续从EC2服务其余的应用程序。避免在应用程序中使用跨域资源可以简化许多事情,其中​​最重要的就是cookie和会话。

虽然在某些情况下您也可以使用它来代替API Gateway可以执行的操作,但并不是可以完全为Lambda函数设置ALB的想法,尽管您当然可以这样做。

答案 1 :(得分:1)

另一个区别是ALB支持HTTP端口80侦听器,而API网关仅支持HTTPS端口443。

在某些情况下,发送/接收数据的客户端/设备出于各种原因(例如远程或嵌入式设备)将不支持HTTPS。

现在,ALB允许直接将潜在的便宜/更具针对性的代理直接转换为Lambda函数,而不是从CloudFront路由到API网关再到Lambda。

答案 2 :(得分:0)

这是一个伟大的公告,确实是无服务器架构的推动者。我认为,以下用例现在更有意义:

  • 位于端口80和端口443的ALB上的侦听器,现在您可以基于端口侦听器将流量路由到其他lambda函数。端口80将调用不同的lambda函数,而端口443将调用不同的lambda函数。
  • 基于主机的路由
  • 基于应用路径的路由

现在,这将使我们能够路由以/ application触发器Lambda函数开头的请求。