【发布时间】:2015-11-27 14:15:30
【问题描述】:
我的系统在 Amazon 自动缩放组上运行,其中一项功能允许用户对用户进行消息传递,我需要解决以下用例。
- 一条新消息在我的应用程序中的用户之间发送。
- 通过电子邮件通知用户的消息被放入队列中,延迟 60 秒。此延迟允许实时聊天客户端 (faye/angularjs) 有时间查看消息并将其标记为已查看。
- 在延迟接收消息后,检查“已读”状态,如果客户端尚未阅读,则发送电子邮件。
最初我打算在每个应用程序服务器上使用 cronjob 来轮询消息队列,但在我看来,使用 SNS 调用某种电子邮件发送端点(可能在 Lambda 中)会更有效。
但是,我看不到任何让 SNS 轮询 SQS 的方法,有人可以建议如何做到这一点吗?本质上,我希望 SNS 有延迟,这样我就不会在带有电子邮件警报的“实时”聊天中向某人发送垃圾邮件。
谢谢
【问题讨论】:
标签: amazon-web-services message-queue amazon-sqs amazon-sns