所以我有一个 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) 这种方法看起来是否可扩展?