使用Redis +另一个数据库存储聊天消息

时间:2015-01-31 04:21:05

标签: database node.js redis chat

我最近开始将实时聊天应用程序作为一个侧面项目,主要是为了获得经验。客户端最初只是iOS / Android应用程序。

对于后端,我使用NodeJ有两个原因:

  • 我想使用websockets
  • 我之前从未参与过一个带节点的项目,所以它的表现很好

我的主要问题是,问题表明我将如何在服务器上存储聊天消息的架构。

通过阅读有关此主题的其他帖子并研究internetz,我想出了以下内容:

  1. 客户端向服务器发送消息以通过套接字发送给另一个用户
  2. 消息被放入Redis(每次聊天存储最近50条消息)
  3. 消息也会异步添加到永久存储数据库(Relational或NoSQL)
  4. 如果用户因任何原因需要再次检索聊天消息,他/她将从Redis获取50条消息(快速),如果他/她向上滚动以查看较旧的消息,则查询下一批旧邮件的永久存储。
  5. 我绝不是数据库方面的专家,但这对我来说似乎是一种合理/可扩展的方法。

    我正在寻找关于可靠性/可扩展性的任何建议/您可以给我的这种架构的任何建议。如果需要,我很乐意提供更多信息。

    由于

0 个答案:

没有答案