在ttl到期后将队列项弹出到sns中

时间:2015-06-01 21:52:00

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

我想使用SQS和SNS实现以下架构:

  1. 将消息推送到SQS队列并延迟
  2. 消息延迟(ttl)过期后,通知所有使用SNS的订阅者
  3. 我知道如何做第一个(实际)部分,但不知道如何将SQS与SNS集成。或者在这种情况下应该应用其他一些架构?

1 个答案:

答案 0 :(得分:0)

虽然您可以将消息推送到SQS延迟队列(延迟最多15分钟),但您仍然需要一个应用程序将消息从队列中拉出并将其发布到您的SNS主题。据我所知,在SQS / SNS中没有内置功能**。或者您可以简单地保留消息,然后在一段时间之后将其直接发布到SNS主题,但是您不会受益于SQS的持久性。

**请注意,有一个扇出功能,您可以在其中发布到SNS主题并为该主题订阅多个SQS队列,以便每个订阅的队列都会收到该消息的副本以进行独立处理。不是你的情况,但无论如何都值得了解。

如果其他设计模式合适,可能值得扩展您正在尝试构建的内容。