AWS Fargate 与具有预配置并发的 Lambda
AWS Fargate vs Lambda with Provisioned concurrency
我想支持一个轻量级功能(DDB 查找并将请求转发到后端服务),支持大约 50 TPS 峰值,可接受的延迟 <1 秒,我正在考虑使用具有预置并发功能的 lambda,或者使用 Fargate 更好吗?
我们什么时候应该更喜欢 Fargate 而不是具有预置并发功能的 Lambda?
对这两种服务的任何成本和性能研究都有帮助。
总的来说,我更喜欢 Lambda 而不是 Fargate,原因如下:
- 缩放已为您处理。如果您的流量非常不稳定且不可预测,这一点尤其重要。
- 如果数量较少,您可能无需支付任何费用
- 更容易部署和配置
不过,Fargate 确实有一些优势。
- 在更高的负载下,您可能会发现 Fargate 更便宜。
- 单个 Fargate 任务可能能够处理相当多的请求,因此您可能不需要大量扩展。这在很大程度上取决于语言和代码的作用。
- 没有冷启动。虽然 Lambda 中的预置并发有助于解决此问题,但它无法处理流量高峰。如果您遇到 consistent/known 流量高峰,您可以使用 Fargate 中的自动缩放来处理它。
其中包含的内容比我所说的要多,我当然过度简化了我的一些陈述,但这是一个很好的起点。
我想支持一个轻量级功能(DDB 查找并将请求转发到后端服务),支持大约 50 TPS 峰值,可接受的延迟 <1 秒,我正在考虑使用具有预置并发功能的 lambda,或者使用 Fargate 更好吗?
我们什么时候应该更喜欢 Fargate 而不是具有预置并发功能的 Lambda?
对这两种服务的任何成本和性能研究都有帮助。
总的来说,我更喜欢 Lambda 而不是 Fargate,原因如下:
- 缩放已为您处理。如果您的流量非常不稳定且不可预测,这一点尤其重要。
- 如果数量较少,您可能无需支付任何费用
- 更容易部署和配置
不过,Fargate 确实有一些优势。
- 在更高的负载下,您可能会发现 Fargate 更便宜。
- 单个 Fargate 任务可能能够处理相当多的请求,因此您可能不需要大量扩展。这在很大程度上取决于语言和代码的作用。
- 没有冷启动。虽然 Lambda 中的预置并发有助于解决此问题,但它无法处理流量高峰。如果您遇到 consistent/known 流量高峰,您可以使用 Fargate 中的自动缩放来处理它。
其中包含的内容比我所说的要多,我当然过度简化了我的一些陈述,但这是一个很好的起点。