【发布时间】:2012-09-25 20:38:28
【问题描述】:
所以我有一个 Rails 应用程序。它目前作为前端和后端+数据库单独运行。
我需要扩展它以拥有多个后端服务器。
后端服务器正在运行 Resque 后台工作程序(由用户前端请求产生)。它还严重依赖回调。
我正在计划以下设置:
|front-end| --- |load-balancer (haproxy or AWS ELB)| --- Server 1 ---- Postgresql Database (+++ other DBs added via replication later if needed)
\___ Server 2 ---/
++ (other servers added in the same fashion later )
我担心在这种情况下如何处理将数据库放在单独的机器上。
1) 我打算创建一个新的空 Rails 应用程序,其架构与初始后端相同。让它运行并通过 HTTP 接受更新/发布,并通过远程 SSH 保持连接(以在后端触发 :after_commit 回调)。这是一个更好的主意吗?
2) 我正在使用 Postgresql,并打算在需要时切换到企业数据库。目前需要扩展后端的处理而不是数据库的部分。
3) 这种方法看起来是否可扩展?
【问题讨论】:
-
为什么您认为您需要做的不仅仅是设置一些额外的后端服务器并将它们添加到负载平衡器?
标签: ruby-on-rails database amazon-ec2 scalability decoupling