我有一个应用程序,其中有一些实时聊天。聊天是在客户端和服务器端(nodejs)使用 Faye 实现的。
现在,此客户端聊天用于 Rails 应用程序,当我的页面重新加载/刷新时,我不想丢失在以下情况下可能发生的消息:
- 我重新加载页面
- 我从数据库中获取聊天记录
- 聊天另一端的用户写了 5 行
- 我渲染页面
- 我缺少 5 条最近的记录
我想听听你对解决这个问题的意见。我想到了一个消息队列之类的东西,其中未传递给客户端的消息将在那里等待,稍后在页面通过 javascript 启动时获取。
如果有人确认消息队列非常适合使用 zeromq 或在我已经使用的 redis 中实现简单队列(不想要很多技术),我也希望得到您的意见。