长时间空闲和突然爆发的 aws worker 队列

aws worker queue with long idle and sudden burst

我正在尝试实现一个工作队列来处理突发消息。每隔 days/weeks 我就会收到大约 5,000 条需要在合理时间内处理的消息(每条消息可以在大约 1-2 分钟内处理)。理想情况下,如果我可以同时 运行 5,000 个 lambda,整个过程应该需要 1-2 分钟,但我的帐户限制为 1,000 个并发 lambda。

我正计划创建一个 SQS 作为 lambda 的事件源,但我看不到任何限制机制?我可以在 lambda 上设置预留并发,但它会从我的帐户限制中扣除,并且让这些 lambda 空闲以应对每几周只能发生一次的事件听起来“很昂贵”。

有没有办法限制 SQS?或者我可能需要选择其他服务来实现这样的队列?

在这种情况下,reserved concurrency 是限制可以同时 运行 的 lambda 函数数量的方法:

Reserved concurrency – Reserved concurrency creates a pool of requests that can only be used by its function, and also prevents its function from using unreserved concurrency.

不额外收费。我认为您混淆保留并发与provisioned concurrency:

When enabled, Provisioned Concurrency keeps functions initialized and hyper-ready to respond in double-digit milliseconds.