来自Amazon页面:
Amazon不保证FIFO访问Amazon队列中的消息,这主要是因为Amazon的分布式特性。如果需要特定的消息排序,则应该设计应用程序来处理它。
我的问题是--如何设计应用程序?
发布于 2014-03-11 12:03:08
您可以在发送消息时设置消息序列计数器。在接收端,如果序列正确,您可以继续处理消息。如果出现无序消息,请等到正确的消息出现(然后将消息存储在按seq编号排序的列表中)。然后处理正确的序列信息和其他中间出现的信息。
发布于 2016-11-19 15:52:49
Amazon刚刚获得具有精确一次处理和去重复的FIFO队列
今天,我们通过对FIFO (先进先出)队列的支持,使SQS更加强大和灵活。我们正在两个地区推出这种新型的队列,现在是,并计划在2017年初在其他许多地区推出。 --这些队列的设计是为了保证消息按照发送的顺序正确地处理一次,并且没有重复的。..。重点雷
如前所述,这些新的FIFO队列将使手头上的用例的任何特殊应用程序设计变得不必要,但并不是所有的SQS区域最初只在美国东部(俄亥俄)和美国西部(俄勒冈州)可用。
发布于 2016-11-20 20:21:03
需要以特定顺序到达的消息可能不是标准SQS队列的好选择。但是,如果消息序列正确,则可以在发送消息和处理消息时设置消息序列计数器。如果在接收端没有接收到正确的顺序消息,则需要在处理它之前等待正确的消息。

2016年11月17日,一些地区(美国东部(俄亥俄)和美国西部(俄勒冈州))引入了FIFO队列,这是对标准队列的补充。发送和接收消息的顺序严格保留,一次消息被传递一次,直到使用者处理并删除它时才可用;重复的消息不会引入到队列中。FIFO队列使用与标准队列相同的API操作,接收和删除消息以及更改可见性超时的机制是相同的。但是,在发送消息时,必须指定消息组ID.。

https://stackoverflow.com/questions/22323396
复制相似问题