有没有办法从标准SQS队列中接收大多数消息? [非先入先出]

时间:2018-12-11 14:01:01

标签: amazon-sqs

我尝试使用并行请求,但是由于AWS的保留,除非删除以前轮询的消息,否则它不允许回轮询相同的队列。

但是我使用FIFO来实现相同的目的,而不是标准队列。

预先感谢! :)

1 个答案:

答案 0 :(得分:1)

当您说“除非删除以前轮询的消息,否则不允许回轮询相同的队列” ,我认为您在谈论的是inflight messages per queue limit,这是相当高的在120,000:

  

对于大多数标准队列(取决于队列流量和消息积压),最多可以有大约120,000个运行中消息(使用者从队列中接收,但尚未从队列中删除)。如果达到此限制,Amazon SQS将返回OverLimit错误消息。为了避免达到限制,您应该在处理完消息后从队列中删除它们。您还可以增加用于处理消息的队列数。要请求增加限额,请file a support request

SQS的预期用例是让工作人员接收一条消息,执行一些工作,然后删除该消息。如果您不遵循这种模式,则强烈建议您重新评估SQS是否是您要执行的操作的正确工具。

但是,如果您确实有一个有效的用例,可以一次运行超过12万条消息,则需要向AWS描述您的用例,并获得他们的批准以增加该限制。