【问题标题】:How to invoke a million Lambdas efficiently?如何有效地调用一百万个 Lambda?
【发布时间】:2020-06-02 03:10:38
【问题描述】:

我有一个 Lambda 函数,我目前正在从 EC2 调用它。但我在循环中顺序调用它。因此,如果要处理 1000 个项目,我将使用一个简单的循环来迭代它们并为每个项目调用 Lambda 函数。

如果要对一百万个项目执行此操作,则效率将不高。我有哪些选择可以减少此过程所花费的时间。

所有项目的流程都是独立的;所以,我可以在 1000 个线程中调用 1000 个 Lambda。但这合适吗?我不太了解 Celery、SQS、redis 等,但这些在这种情况下会有用吗?

以防万一,每个 Lambda 大约需要 5 分钟才能完成。

【问题讨论】:

    标签: python-3.x amazon-web-services amazon-ec2 parallel-processing aws-lambda


    【解决方案1】:

    一种常见的做法是将消息推送到 Amazon SQS 队列并将队列配置为触发 AWS Lambda 函数

    您一次最多可以将 10 条消息推送到 SQS 队列。

    这种方法还具有通过将消息移动到死信队列来处理失败调用的好处。

    见:Using AWS Lambda with Amazon SQS

    【讨论】:

      【解决方案2】:

      使用消息代理会更有效率。您可以使用 Redis 或 RabbitMQ

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-03-24
        • 1970-01-01
        • 1970-01-01
        • 2016-08-22
        • 2015-06-30
        • 2016-04-26
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多