首页 > 解决方案 > 我应该将死信队列和/或消息组 ID 添加到我的 AWS SQS FIFO 队列吗?

问题描述

我有一个 AWS SQS FIFO 队列来处理传入的消息序列。理想情况下,我的消费者(一个 Lambda)将按节奏检索有序消息并尝试重新处理它们。我的问题是我是否应该添加死信队列?

当前设置{ 1st, group A } { 2nd, group A } { 3rd, group A }

我是否应该设置消息组 ID,以便{ 1st, group A } { 2nd, group A } { 3rd, group B }即使第 1 条消息无法处理,也可以处理第 3 条消息?

我是否应该进一步设置死信队列,以便有另一个队列搁置在几次尝试后无法正确处理的消息,这样它就不会占用我的飞行消息限制?

标签: amazon-web-servicesmessage-queueamazon-sqs

解决方案


MessageGroupID您应该为必须严格按照彼此相对顺序处理的任何消息分配相同的值。

如果您有不依赖于其他消息的消息,那么它们应该有不同的MessageGroupID.

我想举的例子是发送 GPS 坐标的公共汽车车队。需要处理特定公共汽车的所有位置以便在地图上正确显示它,但来自不同公共汽车的消息可以按任何顺序处理。因此,每辆公共汽车都应该有自己的MessageGroupID.


推荐阅读