Amazon SQS 最大飞行中消息

Amazon SQS 最大飞行中消息

我想使用 FIFO SQS 进行消息传输 - 在研究时我发现了以下两个语句:

  • 每个队列的消息数:Amazon SQS 队列可以存储的消息数量没有限制。
  • 每个队列的消息数(正在发送):对于 FIFO 队列,最多可以有 20,000 条正在发送的消息(消费者从​​队列中收到但尚未从队列中删除的消息)。为避免达到配额,您应在处理完消息后将其从队列中删除。

对我来说很清楚,当我收到消息但尚未删除它们时,消息数量限制为 20k 条(因此它们处于不可见超时状态)。

隐形超时和接收令牌过期后会发生什么?已收到但未删除的消息是否也计入此限制 - 即使经过很长一段时间?

答案1

因此我自己尝试了一下并得出以下结论:

  • FIFO 队列可以容纳无限量的消息
  • 在偷看 20,000 条消息(现在被视为“正在发送”)后,您在尝试偷看其他可用消息时不会再收到任何消息
  • 在飞行中消息的接收句柄过期后,它将从“飞行中”配额中扣除,并再次被视为“可用”
  • 当达到 20k 的配额时,服务查看消息不会收到任何错误消息,而是收到一个空的消息列表。

相关内容