【发布时间】:2021-11-28 17:17:09
【问题描述】:
我正在尝试了解 SQS Lambda 触发器在轮询来自队列的消息时的工作原理。
标准
我正在尝试确保在 1 秒内处理的消息不超过 3 条。
想法
我的想法是将触发器 BatchSize 设置为 3 并将队列的 ReceiveMessageWaitTimeSeconds 设置为 1 秒。我这样想对吗?
编辑:
我做了一些挖掘,看起来我可以在我的 Lambda 上设置并发限制。如果我将我的 Lambda 并发限制设置为一个,以确保一次只处理一批消息。如果我的 lambda 运行了一秒钟,那么下一批消息至少会在一秒钟后得到处理。这里的问题是长轮询会根据消息量自动调整队列上异步轮询的数量。这意味着,当大量消息进入时,lambdas 可能会限制。当 lambdas 限制时,消息会返回队列,直到最终进入 DLQ。
【问题讨论】:
标签: amazon-web-services aws-lambda amazon-sqs