【发布时间】:2011-12-26 14:50:30
【问题描述】:
我正在着手一个新的 Rails 项目,该项目的前提是允许用户创建自己的“站点”。每个“站点”都是根域的子域(我们将使用 example.com)。因此,如果用户 Foo 想在 bar.example.com 创建自己的站点,则对 bar.example.com 页面的每个页面请求都需要根据子域获取站点表中的一行。
我的问题不是如何编写多站点应用程序,我想我对此有很好的把握。我的问题是,从可扩展性和性能的角度来看,为用户创建的每个站点简单地生成一个新的 rails 项目会更好吗?或者是否可以从一个 Rails 应用程序中运行所有站点。如果需要数字,假设我有 100 万用户,每个用户最多有 5 个网站,每个网站每天带来大约 1000 次点击。
我意识到这是一个广泛的问题,并且主要取决于我对这两种方法的实现以达到可行的解决方案,但是任何关于编写此方法的最佳方法的建议,包括优化数据库等都将是赞赏。
【问题讨论】:
标签: ruby-on-rails ruby performance scalability