rails社交网络应用程序的可扩展状态更新/私人消息传递

时间:2011-03-28 12:28:57

标签: mysql ruby-on-rails ruby ruby-on-rails-3 amqp

我正在尝试更多地了解RoR的可伸缩性。我有一个基本的社交网络应用程序,目前正在使用MySQL来存储所有内容(用户关系,状态更新,私人消息)。

NoSQL数据库听起来很理想,但是它们能够像RDBS一样有效地查找/维护关系吗?或者混合解决方案是否更理想(仅存储NoSQL DB中的状态更新和私人消息)

对于状态更新,AMQP解决方案如何适应?我是否会从状态更新队列中读取进程并将其推出(XMPP?)给所有关注者/朋友?这个似乎就像它可以变成瓶颈,除非我不断增加从队列中读取的线程/进程。

或者我应该采取推特路线并坚持使用MySQL?任何想法/建议都会有所帮助。

感谢。

1 个答案:

答案 0 :(得分:0)

如果其他人在同一条路上徘徊,有一个Ruby on Rails开源项目Insoshi,已经解决了大部分问题。

此外,如果您的应用程序主要基于近实时更新,那么在Node.js或Erlang中实现实现可能更好。