如何使用nodejs,redis和mongodbdevise基于聊天的应用程序?

我们有一个具有聊天function的iOS应用程序。 目前它与长期民意调查。 现在我们正试图修改它与套接字一起工作。 当谈到socket时,我们已经开始进行一项研究,看起来最好的select之一是使用nodejs和socket.io。 然后,我们使用redis pub / sub来pipe理消息传递和存储。

在对redis进行了一些研究之后,推荐的用法build议存储的数据应该适合内存。 但是,我们有一个大的数据库。 我们想存储整个聊天logging。 因此,我们已经开始计划使用redis作为caching数据库,它将存储在线用户的聊天logging(可能不是全部),并且在从redis离线到mongodb / simpledb(或即时两者)之后写下实际的对话)。

总结一下,我们即将决定使用nodejs和redis pub / sub传递消息,redis作为caching数据库,而mongodb存储整个对话。

你怎么看这个devise? 这可以接受吗? 或者,如果有更好的方法可以提出build议,可以请再解释一下吗?

提前致谢。

对于一个聊天系统,你觉得很大。 如果你认为你将达到一百万用户,然后去。 考虑可用性 – 你的系统将如何处理机器的故障?