AWS SQS FIFO 队列——我可以让多个消费者一次提取 10 条消息吗?

Lis*_*ook 4 queue fifo amazon-sqs amazon-web-services

AWS sqs FIFO 队列限制消费者一次只能拉取 10 条消息。我是否可以让多个消费者同时提取 10 条消息以增加我一次可以处理的消息量?

Mar*_*k B 5

来自 SQS 的单个响应中 10 条消息的限制对所有 SQS 队列类型都是通用的。但是,您绝对可以同时拥有多个消费者,每个消费者一次最多请求和接收 10 条消息。

对于 FIFO 队列消费者,我只看到此处列出的以下限制:

每个队列的传输中消息

  • 对于 FIFO 队列,最多可以有 20,000 条传输中消息(消费者从​​队列接收,但尚未从队列中删除)。如果达到此限制,Amazon SQS 不会返回错误消息。

消息吞吐量

  • 默认情况下,FIFO 队列支持每秒多达 3,000 条消息的批处理。要请求提高限制,请提交支持请求。
  • FIFO 队列每秒最多支持 300 条消息(每秒 300 次发送、接收或删除操作),无需批处理。

  • 还有一个,键入消息组 ID。【属于同一个消息组的消息总是一一处理,相对于消息组的顺序严格](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html #FIFO-key-terms) 所以如果你的所有消息都在一个组中,那么只有一个消费者将有任何一个在飞行中,因此严格的排序得以保留。在这种情况下,其他消费者将不会收到任何消息。当正在发送的消息被删除时,另一个消费者(或同一个,不确定)将收到下一批。 (5认同)