新手问题 Ruby on Rails 如何搭建分布式服务器?

glorySpring · 2014年04月24日 · 最后由 zhangrentian 回复于 2014年05月02日 · 5199 次阅读

最近在研究分布式的问题。但是没找到合适的方法. 另外,自己找到的资料实在是少的可怜. 请问各位有没有搭建分布式服务器的经验或者资料可以分享一下呢? 不胜感激。

分布式服务器是什么? 分布式数据库,分布式应用,分布式计算?

RoR 干分布式什么事儿...

估计应该是说多台 app server 吧 用 nginx 反向代理,upstream 配好所有的 ip 和端口

4 楼 已删除

要做负载,第一步就得把 public 下文件给剥离出来,要么用一些 7 牛之类的云存储,要么自己搭建文件服务器或者 nfs 把服务器的文件目录都挂载起来

描述太不清晰。

是指应用集群吧,Ruby on Rails 天然就支持得很好,关键要处理好共享存储的问题。 最简单的做法是用 nfs,也可以用云存储(同时也把 CDN 问题一并解决了),量大的话也可以用分布式文件系统,比如 MooseFS。

Rails 的 App Server 可以无限水平扩展的,简单来说是这样:

                                              Nginx
                                                 |
                  |------------------------------|---------------------------|
                  |                              |                           |
________________Server 0______________     ______Server 1______    _Server N_ 
|                                    |     |                  |
| [app0] [app1] [app2] [app3] [app4] |     |  [app0]..[appN]  |
______________________________________     ____________________

分布式,集群,这是两个完全不同的概念。

#9 楼 @huacnlee thx,一目了然...哈哈

建议参考 Heroku 的实现架构

#9 楼 @huacnlee 这么高大上啊?!怎么实现啊?这个可以细说吗?哈哈

#12 楼 @bydmm 恩,好的...这个我会详细去看看,谢谢..

#13 楼 @diguage 这个并不复杂的,每台 server 上 unicorn 设置 worker 数比如开 10 个,然后 Nginx 设置

upstream prod {
     server 192.168.1.1:6001; # 10个worker
     server 192.168.1.2:6001; #  5 个worker
     server 192.168.1.3:6001; # 4 个worker
   }
需要 登录 后方可回复, 如果你还没有账号请 注册新账号