gpt4 book ai didi

amazon-web-services - 在 AWS Lambda 中处理事件之前,是否有一种惯用的方法来聚合事件?

转载 作者:行者123 更新时间:2023-12-03 23:14:02 26 4
gpt4 key购买 nike

我有一个处理来自 S3 的事件的 AWS Lambda 函数。我想在处理之前聚合它们并让 lambda 处理批处理。

这如下图所示:
enter image description here

理想情况下,我希望能够指定批处理大小和超时(比如一个偶数,然后在 5 秒内什么也不做,我想发送 1 个事件的批处理)。

是否有使用 Lambda 或其他 AWS 服务的惯用方法?

最佳答案

您可以执行以下操作:
1.让上游做聚合:
让出版商负责,让出版商给你每组要处理的对象的事件。如果发布者已经在批量工作,这很有效。
2. 插入您自己的聚合步骤:

  • 触发每个事件。
  • 将事件存储在某个地方。
  • 如果已存储足够的事件,则清空存储并将所有内容传递给处理步骤。

  • 如果您的处理步骤是 ,这很有效。多每个事件比仅仅处理事件更昂贵。通常,这可以采用 {aggregating lambda} -> {processing batch job} 的形式,因为 Lambda 不适用于非常昂贵的处理。
    3.按时间做聚合:
  • 将您的事件发送到 SQS 队列。
  • 触发计时器(例如 Cloudwatch events )。
  • 触发时,清空队列并处理其中的所有内容。如果在单个调用中处理太多,请立即触发额外的 lambda。

  • 如果处理成本相当低,并且您希望最大限度地减少 Lambda 调用次数,则此方法很有效。触发计划(您在两次调用之间等待的时间)是通过权衡您愿意等待处理事件的时间与愿意支付的调用次数来确定的。需要注意的事项: 1. 如果您根本没有收到任何事件,您仍将调用您的 Lambda,以及 2. 如果您收到的事件比处理速度快,您的队列将越来越多,您的处理能力将下降越来越落后。

    关于amazon-web-services - 在 AWS Lambda 中处理事件之前,是否有一种惯用的方法来聚合事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54170462/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com