我的网站中有一个电子邮件系统,到目前为止,无法在我的网站中向用户显示通知。除非用户登录电子邮件客户端,否则他们不会知道自己已收到消息。
我可以借助 AWS SQS 和 SNS 来完成此任务吗?作为一个网站,有很多注册用户。他们将向任何用户发送消息,并表示当电子邮件收件人处于 Activity 状态并登录网站时,我需要显示通知。如果用户处于离线状态,我只需要在他们登录时在页面标题上显示这些消息。我怎样才能做到这一点?
我尝试在 AWS 控制台 (SQS) 中创建消息队列,并从 SQS 管理控制台订阅 SNS 主题的队列。我可以尝试向此队列发送消息,但我不确定如何将唯一的用户相关消息作为通知分发?
如果您对此有任何建议,请告诉我?
我使用的是JAVA
最佳答案
SNS 和 SQS 都不适合您的用例。我建议将消息放入某种数据存储中,并在页面加载时查询该数据存储以确定是否应该显示通知。
选项包括:
- 一个 SQL 数据库(如果您已经有一个,否则这是一个昂贵的选择)
- DynamoDB(高度可用且速度非常快,但有点昂贵)
- SimpleDB(高度可用,有点慢,无法处理太多吞吐量,查询能力良好,价格便宜)
- S3(高度可用,有点慢,吞吐量高,查询能力差,最便宜的选择)
如果您不熟悉 AWS 堆栈,您可以看看 Azure Table,它可能比其他任何一个都稍微更好地满足您的需求。
关于java - 如何使用AWS SQS和SNS向网站发送通知消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24699843/