我正在使用 Ruby on Rails 3,并且我有一个单体应用程序,它使用命名空间来“划分”其中的逻辑。命名空间示例是“users”、“profiles”、“articles”……
我计划用新功能大量扩展这个应用程序,但如果我想处理成千上万的用户,那些目前已经实现的功能应该是一个性能问题。
此时,我仍然需要部署我的应用程序,但我正在考虑为每个命名空间创建一个 Web 服务以提高性能(我已经改进了缓存以避免数据库查询)。我知道创建 Web 服务并与之交互是一件非常困难的事情,它需要很多时间才能完成(我试过了!)。
您认为我可以使用单体架构部署我的应用程序吗?如果是这样,从单体架构迁移到分布式架构会有多难?什么时候应该切换到分布式架构?
P.S.:例如,我在想,Facebook 和 Twitter 采取了哪些步骤才能成为现在的样子......
最佳答案
这是一个非常大的问题,但我建议阅读 Dan Chak 的 Enterprise Rails。它在第 13 章及以后的章节中提供了很多关于如何执行此操作的重要信息。有一个 preview可在 Google 图书上找到,但不幸的是它不包括这些章节。
当然,您总是可以坐在 Barnes and Noble 的书店里,用一个下午的时间通读一遍。无论如何,您最终可能会购买它 - 这就是我所做的:)
此外,您应该有点小心,因为代码示例是针对 Rails 2.3 而不是 3,但这应该不是什么大问题。基础都是一样的。
关于ruby-on-rails - 使用 Ruby on Rails 的单片和分布式系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5331716/