我有一个SQS的用例,我将发送有关系统内特定对象的消息。每个对象最多每20秒会有一条消息,并且有数十万(可能是数百万)对象,这意味着我每秒将处理数万(可能是数十万)个消息。消息量排除了使用FIFO队列。
大多数时候,我并不关心有序消息传递。如果两个不同对象的消息以不同于它们发出的顺序传递,那很好。可能存在问题的是,如果与同一对象相关的两条消息无序传递。
鉴于每个对象每20秒只有一个事件,20 seconds is an eternity in computing time,我觉得两个消息相隔20秒(可能有数百万条消息)发送的可能性很小不按顺序。也就是说,我还没有找到任何关于SQS无序交付的硬数据。我知道这可能发生,但我还没有看到任何关于它的测量数据。
我想知道是否有任何类型的测量数据可以显示消息传递的概率X无序时间或X消息无序。
答案 0 :(得分:0)
SQS不保证非FIFO队列中消息出现的混乱程度。
我所看到的与您寻找的最相关的度量是this experiment,该度量找到了将消息提交到队列后可进行轮询的处理时间。如果您想复制实验以收集自己的指标,它们还具有指向源代码的链接。
如果您绝对必须按原始顺序使用它们,则可以选择几种方法。它们不一定是好的选择,但它们是选择。