如何使Amazon sqs消息遵循FIFO

时间:2014-01-30 08:20:10

标签: fifo amazon-sqs

是否有某种方法可用于在真正的FIFO中使用Amazon SQS消息?我尝试从配置中传递延迟消息,但这没有帮助。

3 个答案:

答案 0 :(得分:2)

Amazon SQS刚刚获得FIFO Queues with Exactly-Once Processing & Deduplication

  

今天,我们正在通过支持使SQS更加强大和灵活   用于FIFO(先进先出)队列。 我们推出这个新的   现在两个地区的队列类型,并计划在其中提供   许多其他人在2017年初。

     

这些队列旨在保证处理邮件   正好一次,按照发送的顺序,没有重复。   [...]

     

[强调我的]

正如所强调的那样,这些新的FIFO SQS队列将呈现任何特殊注意事项,以便消耗真正FIFO中的Amazon SQS消息,但尚未在所有SQS regions中提供[最初仅在美国]东(俄亥俄州)和美国西(俄勒冈州)]。

答案 1 :(得分:1)

简而言之,不:

问:Amazon SQS是否提供对邮件的先进先出(FIFO)访问?

不,Amazon SQS不保证对Amazon SQS队列中的消息进行FIFO访问,主要是因为Amazon SQS的分布式特性。如果您需要特定的消息排序,您应该设计应用程序来处理它。

http://aws.amazon.com/sqs/faqs/

答案 2 :(得分:1)

需要以特定顺序到达的邮件可能不适合标准SQS队列。但是,您可以在发送消息时设置消息序列计数器。在接收端,如果顺序正确,您可以继续处理消息。如果出现无序消息,请等到正确的消息出现,然后处理正确的序列消息和其他消息。

enter image description here

2016年11月17日,在某些区域(US East (Ohio)US West (Oregon))引入了FIFO队列,这些区域补充了标准队列。严格保留发送和接收消息的顺序,并且消息一次传送并保持可用,直到消费者处理并删除它为止;重复项不会引入队列。 FIFO队列使用与标准队列相同的API操作,接收和删除消息以及更改可见性超时的机制是相同的。但是,发送邮件时,必须指定邮件组ID。在此处输入图像描述

enter image description here