在具有相同组 ID 的 Amazon sqs fifo 队列中,如何可能有超过 10 条处于飞行模式的消息?



根据亚马逊AWS文档的文档,它说

对于 FIFO 队列,最多可以有 20,000 条动态消息(由使用者从队列接收,但尚未从队列中删除(。如果您达到此配额,Amazon SQS 不会返回任何错误消息。如果您的队列有大量积压的 20,000 条或更多具有相同消息组 ID 的消息,那么 FIFO 队列可能无法返回具有不同消息组 ID 但稍后发送到队列的消息,直到您成功使用积压工作中的消息。

我在这里无法理解的是,如果 fifo 队列不发送下一批 n 条消息(最多 10 条(,如果前一批正在具有相同组 ID 的任何并行使用者中进行。那么在飞行模式下,如何最多有 20K 条消息具有相同的组 ID。据我了解,同一组ID在飞行模式下最多可以有10条消息。如果该批次的消息不知何故未被处理(未确认(,则 fifo 队列将在可见性超时结束后重新传送这些消息,以飞行模式下相同数量的消息结束。

有人可以帮我澄清一下吗?

这并不是说可以有20,000 条消息使用相同的 GroupId。

  • "最多可以有 20,000 条动态消息">是指所有消息,无论 GroupId 如何
  • "如果您的队列有大量积压的 20,000 条或更多具有相同消息组 ID 的邮件">是指未处理消息的积压。它是指飞行中的消息。

基本上,它的意思是,如果一个特定的 GroupId 正在传输中,并且队列中有 20,000+ 条具有相同 GroupId 的消息在等待(不是在进行中(,SQS 可能无法访问任何具有不同 GroupId 的消息,这些消息"落后于"这 20,000 条消息。

最新更新