だから私は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 を使用していますが、必要に応じてエンタープライズ DB に切り替える予定です。現在必要なのは、データベースではなく処理を行うバックエンドの部分をスケーリングすることです。
3) このアプローチはスケーラブルに見えますか?