AWS Lambda 是运行批处理作业的正确方法吗?



我有一个批处理作业,我需要在 AWS 上运行。我想知道使用的最佳服务是什么。该作业需要每天运行一次,因此我认为自然而然地,带有CloudWatch Rule触发它的AWS Lambda可以做到这一点。但是,我开始认为AWS Lambda被认为是处理请求的服务。这个集成 Spring-Boot 的 AWS 官方库非常倾向于处理 HTTP 请求,当通过 AWS 控制台创建 lambda 时,只能编写向 lambda 发送输入的测试用例。

那么,这是AWS Lambda的使用案例吗?此外,这些函数最多可以运行 15 分钟。如果我的工作需要运行更长时间,我应该使用什么?

与 AWS EC2 相比,Lambda 的目的是简化构建响应事件和新信息的小型按需应用程序的过程。

如果您的批处理在 15 分钟内运行,则可以使用 lambda 函数。

但是,如果您希望完成批处理,则应检查AWS批处理。

这是一篇很好的文章,演示了AWS批处理的用法。

<小时 />

如果您已经在使用一些批处理框架,例如 spring-batch ,您还可以使用 Fargate 查看ECS计划任务。

借助ECS Fargate,您可以启动和停止仅在特定时间需要运行的容器服务。以下是一些关于 Fargate 事件和计划任务以及计划任务的相关文章。

如果您确信您的函数最多只能运行 15 分钟,AWS Lambda 可能是解决方案。以下是可以帮助您做出决定的 AWS Lambda 限制。

另请注意,lambda 具有冷启动功能,它开始时运行速度较慢,但最终会加快速度。这里有一些关于它的好读物,可以帮助您决定 lambda 方向,但请随时查看任何可以更好地解释的文章。

  • 这个显示了您要考虑的简短列表以及影响它的因素。
  • 这个可能对冷启动在内部如何工作有更深入的解释。

如果我的工作需要运行更长时间,我应该使用什么?

根据您的基础架构,您可以探索计划任务

相关内容

最新更新