我正在使用Ruby on Rails 3,我有一个使用命名空间的单片应用程序,以便“划分”逻辑。命名空间示例是“users”,“profiles”,“articles”,....
我打算使用新功能扩展这个应用程序很多,但是如果我想处理数千个用户,那么此时已经实现的那些应该是性能问题。
此时,我仍然需要部署我的应用程序,但我正在考虑为每个命名空间创建一个Web服务以提高性能(我已经改进了缓存以避免数据库查询)。我知道创建和与Web服务交互是一件非常强大的事情,需要花费很多时间才能完成(我试着这样做!)。
您认为我可以使用单一架构部署我的应用程序吗?如果是这样,从单片架构转变为分布式架构会有多大困难?什么时候我应该切换到分布式架构?
P.S。:我正在考虑,例如,Facebook和Twitter已经采取了哪些措施来成为他们的目标......
答案 0 :(得分:0)
这是一个非常大的问题,但我建议阅读Dan Chak的Enterprise Rails。它在第13章及以上章节中提供了很多有关如何执行此操作的重要信息。 Google图书上提供了preview,但不幸的是,它不包含这些章节。
当然,您可以随时坐在Barnes and Noble中,并在下午阅读。你可能最终还是会购买它 - 这就是我所做的:)
另外你应该有点警惕,因为代码示例是针对Rails 2.3而不是3,但这应该不是一个大问题。基础知识都是一样的。
答案 1 :(得分:0)
另一本值得研究的好书(以及更多最新版本)是:
使用Ruby和Rails进行面向服务的设计(Addison-Wesley专业Ruby系列)[平装]作者:Paul Dix