在我们的系统中,一个 SNS 主题有多个订阅者,每个订阅者对消息进行不同的处理。
对于某些订阅者来说,原始事件发生的顺序以及通过 SNS 接收事件的顺序非常重要。因此,SNS 主题被创建为 FIFO,并且顺序敏感的订阅者使用 FIFO SQS。
对于其他订阅者来说,顺序并不重要并且重复是可以接受的,因此他们更愿意使用标准 SQS 以避免更高的 FIFO 队列价格和其他限制。
但是,AWS似乎只允许订阅
为什么 AWS 不允许将标准 SQS 订阅到 FIFO SNS,因为它似乎只是放宽了消息到达 SQS 后的排序要求?
有什么解决方法吗?我看到一些使用 lambda 从 SNS 接收消息并将其发送到 SQS 的建议,但这意味着 lambda 执行需要额外的成本。
是否有任何进展来支持这种情况?
CloudFormation 也返回类似的错误:
Invalid parameter: Endpoint Reason: Please use FIFO SQS queue
相应的功能刚刚于 2023 年 9 月 14 日发布:https://aws.amazon.com/about-aws/whats-new/2023/09/amazon-sns-fifo-topics-message-delivery-sqs-standard-队列/