FIFO Sqs 和 AWS Lambda 中的奇怪行为

Strange behaviour in FIFO Sqs and AWS Lambda

fifo 队列的积压中大约有 20K 条消息。 Lambda 是 fifo 队列的消费者。一个来源正在将消息推送到组 ID 为 Group1 的 FIFO 队列。

lambda 代码抛出了可重试的异常,因此将重新处理整个批次。但是现在当我 运行 我的黄瓜测试用例具有不同的消息组 ID,即 Group2 。按照我的预期,应该并行处理 Group2 消息。但看起来他们正在接受处理。

我的理解是否正确,多个组 ID 应该由 lambda 并行处理,但看起来并没有发生。

对于 FIFO 队列,最多可以有 20,000 个飞行消息(消费者从​​队列中接收,但尚未从队列中删除)。如果达到此配额,Amazon SQS return 不会显示任何错误消息。如果您的队列积压了 20,000 条或更多具有相同消息组 ID 的消息,则 FIFO 队列可能无法 return 具有不同消息组 ID 但稍后发送到队列的消息,直到您成功使用了积压

中的消息