端到端SNS到SQS FIFO消息

时间:2016-12-29 23:48:51

标签: amazon-web-services amazon-sqs amazon-sns

使用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
 -----                       -----                       ----------

这种情况可能吗?

5 个答案:

答案 0 :(得分:6)

答案 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 主题提供了排序和重复数据删除的额外好处 消息

我列出了一些重要的链接供您参考

  1. Amazon SNS introduces First-in-First-out (FIFO) topics with strict ordering and deduplication of messages
  2. Introducing Amazon SNS FIFO – First-In-First-Out Pub/Sub Messaging
  3. Building event-driven architectures with Amazon SNS FIFO

因为您的SNS主题协议终端节点是Amazon SQS,所以运行正常。

注意其他协议端点 Ref

  • 当前,终端节点协议必须是Amazon SQS,并且以Amazon SQS FIFO队列的Amazon资源名称(ARN)作为终端节点。
  • SNS FIFO主题无法将消息传递到客户管理的端点,例如电子邮件地址,移动应用, 文本消息(SMS)或HTTP(S)端点。这些端点类型 不能保证保留严格的消息顺序。尝试去 将客户管理的端点订阅SNS FIFO主题会导致 错误。