使用introduction of FIFO queues in SQS,我们可以保证按顺序传递SQS消息。
现在,当我通过SNS发布消息时,是否会出现乱序交付?以下是我认为可能发生的事情:
_____ _____ __________
| App |-- Publish msg 1 --> | SNS | --> Queue msg 2 --> | FIFO SQS | --> Consume 2
| |-- Publish msg 2 --> | | --> Queue msg 1 --> | | --> Consume 1
----- ----- ----------
这种情况可能吗?
答案 0 :(得分:6)
SNS FIFO刚刚启动。 SNS现在可以与SQS FIFO https://aws.amazon.com/blogs/aws/introducing-amazon-sns-fifo-first-in-first-out-pub-sub-messaging/
集成答案 1 :(得分:2)
此方案目前无法实现,因为SNS与AWS中的FIFO SQS不兼容。它仅支持标准队列。 this link中的AWS文档中明确提到了这一点,特别说明。
修改强>
它也列在Are Amazon SQS FIFO queues compatible with Amazon Simple Notification Service (SNS)?
下的Amazon SNS does not currently support forwarding messages to Amazon SQS FIFO queues. You can use SNS to forward messages to standard queues.
答案仍然与2018年6月6日相同:http
答案 2 :(得分:1)
好消息!现在可以使用SNS FIFO主题! https://docs.aws.amazon.com/sns/latest/dg/sns-fifo-topics.html
答案 3 :(得分:0)
我的团队也在寻找与SQS FIFO队列进行SNS集成的方法,但不幸的是,到目前为止它还不兼容。
答案 4 :(得分:0)
最新的SNS支持FIFO是可能的,
根据亚马逊文档摘录
FIFO主题支持将消息散发到多个订阅 具有高耐用性,过滤,加密和保密性,而FIFO 主题提供了排序和重复数据删除的额外好处 消息
我列出了一些重要的链接供您参考
因为您的SNS主题协议终端节点是Amazon SQS,所以运行正常。
注意其他协议端点 Ref
- 当前,终端节点协议必须是Amazon SQS,并且以Amazon SQS FIFO队列的Amazon资源名称(ARN)作为终端节点。
- SNS FIFO主题无法将消息传递到客户管理的端点,例如电子邮件地址,移动应用, 文本消息(SMS)或HTTP(S)端点。这些端点类型 不能保证保留严格的消息顺序。尝试去 将客户管理的端点订阅SNS FIFO主题会导致 错误。