广播或多播模式(SQS 和 SNS)

Broadcast or Multicast Pattern (SQS and SNS)

消息设计模式如下:

第 1 步 - 应用程序向 SNS 主题发送消息

第 2 步 - SNS 将消息发布到订阅的 SQS 队列。

根据以下定义:

广播:消息被发布到所有端点。

多播:消息发布到选定的端点。

上图可以理解为 选项 1 - 消息发布到订阅 SNS 主题的选定 SQS 队列,多播模式

选项 2 - 消息发布到所有订阅的端点,广播模式

应该如何解释这种设计模式?

在没有澄清的情况下,这很可能会被广播。

发布者无法 select 将接收消息的队列 -- 默认情况下它将发送到所有队列。

从历史上看,SNS 扇出到 SQS 总是广播。

然而,最近 SNS 的增强提供了每个队列订阅 SNS 主题的能力 "filtered" -- 在这种情况下,发布者仍然不能直接 select将接收消息的队列(它们不是明确可寻址的),但 SNS 根据订阅过滤器决定将消息传递到哪里......这可能适合多播标签,具体取决于具体情况。

https://docs.aws.amazon.com/sns/latest/dg/message-filtering.html