所以我需要第二双眼睛来纠正或确认我对Amazon SQS
的理解。根据我的理解,您可以向一个队列添加无限量的消息。消息的大小可以是256 KB
,如果需要大于此消息,则可以使用amazon s3来存储2 GB。在线阅读,看来这个排队服务有很多用例。例如,SQS
的一个用例可以充当数据库缓冲区。
但这就是我要做的事情。我正在寻找一个实时的短信系统。我当前的功能更像是一个留言板,因此实现只是插入数据库然后读取数据并将其打包到JSON
以插入SQLITE
手机。这很有效,但我收到了很多人要求实时的请求。
所以我想知道的是,我可以利用amazon SQS
来编写和阅读聊天应用程序的消息吗?因此,在SQS
的理论用例中,将有一个要写入的消息队列,并且每秒从该队列中提取以检查移动设备上的消息。但在这里,我很困惑。既然你不能" Query
"来自队列的特定消息,每个用户有一个队列然后是应用服务器读取的通用队列是否有意义?或者我只是说疯了,应该花费认知资源考虑在Ec2
实例上实现开放连接?
任何帮助都会很棒,
谢谢!
答案 0 :(得分:0)
您是否考虑过使用Amazon SNS将聊天消息推送到您的移动设备?每个用户发布一个主题,读者订阅该主题。如果应用程序没有运行,您只需要丢失消息即可。
答案 1 :(得分:0)
如果您只有少数(或者可能少于100个)用户,您可能会想到每个用户有一个SQS队列。如果不是这样,那么解决方案在操作上是不可行的。
如果您有一个通用队列,SQS不会提供帮助,因为它不允许查询所有可用消息中的给定字段。
我可以为您的用例考虑以下选项:
Messages
表,可能在AWS RDS上。这将为查询给定用户的消息提供一种简便方法。