发布消息到SNS而不是直接推送到SQS的优势

Advantage of Publishing Message to SNS rather directly pushing to SQS

我目前正在为我的电子商务设置构建一个基于微服务的后端

我需要将所有事务推送到队列服务,但 AWS 文档说我应该将我的消息发布到 SNS,然后将我的队列订阅到一个主题

但在 SQS 文档中还有一种方法可以直接向 SQS 发送消息

*PS:我已经搜索了 Whosebug,但是 none 我的特定用例的问题答案 那么为什么同样的事情有两种解决方案,需要使用 SNS 并支付额外的费用

这样做的一个原因是,如果您先发布到 SNS,则可以非常轻松地扩展您的架构。这是因为能够实施 fanout 场景:

现在您可能只需要在单个 SQS 队列中发送消息。但稍后您可能想要添加第二个来处理相同的消息,也可能独立于队列调用一些 lambda 函数,或者将它们也发送到某个 HTTP 端点。