并行化AWS Lambda的最佳方法

时间:2015-12-29 23:19:24

标签: amazon-web-services amazon-s3 aws-lambda

我在S3上上传了一个大文件,对于文件中的每一行,我需要进行长时间运行的休息API调用。我正试图找出打破工作的最佳方法。我目前的流程理念是

Lambda(逐行分解) - > SNS(每行通知) - > Lambda(每行/通知单独)

这似乎是一个常见的用例,但我找不到很多引用它,我错过了什么?是否有更好的选择来分解我的工作并在合理的时间内完成工作?

1 个答案:

答案 0 :(得分:2)

Best 方式将是主观的。您当前使用的方法Lambda->SNS->Lambda是一种可能的方法。正如JohnAllen指出的那样,你可以简单地做Lambda->Lambda

您的方案让我想起了this project,它有一个Lambda函数将项添加到Kinesis流,然后触发许多并行的Lambda函数。

如果您生成大量的Lambda任务,我认为Lambda->Kinesis->Lambda可能比Lambda->SNS->Lambda更适合您的用例。我担心SNS实现会遇到最大数量的并发Lambda函数,而Kinesis实现会将它们排队并优雅地处理它。