AWS Fargate 与具有预配置并发的 Lambda

AWS Fargate vs Lambda with Provisioned concurrency

我想支持一个轻量级功能(DDB 查找并将请求转发到后端服务),支持大约 50 TPS 峰值,可接受的延迟 <1 秒,我正在考虑使用具有预置并发功能的 lambda,或者使用 Fargate 更好吗?

我们什么时候应该更喜欢 Fargate 而不是具有预置并发功能的 Lambda?

对这两种服务的任何成本和性能研究都有帮助。

总的来说,我更喜欢 Lambda 而不是 Fargate,原因如下:

  1. 缩放已为您处理。如果您的流量非常不稳定且不可预测,这一点尤其重要。
  2. 如果数量较少,您可能无需支付任何费用
  3. 更容易部署和配置

不过,Fargate 确实有一些优势。

  1. 在更高的负载下,您可能会发现 Fargate 更便宜。
  2. 单个 Fargate 任务可能能够处理相当多的请求,因此您可能不需要大量扩展。这在很大程度上取决于语言和代码的作用。
  3. 没有冷启动。虽然 Lambda 中的预置并发有助于解决此问题,但它无法处理流量高峰。如果您遇到 consistent/known 流量高峰,您可以使用 Fargate 中的自动缩放来处理它。

其中包含的内容比我所说的要多,我当然过度简化了我的一些陈述,但这是一个很好的起点。