广播或多播模式(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
消息设计模式如下:
第 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