私は、単一のVPSを超えて成長しているWebアプリケーションを維持しています。このアーキテクチャは、それぞれが独自のサブドメインを持つ多数の小さなユーザーで構成されています。ユーザーは対話しません。ロードとは、一部のユーザーとすべての新しいユーザーを、別のサーバー上のWebアプリケーションの別のインストールに移動する必要があることを意味します。
現在、すべてのユーザーサブドメインは同じ仮想ホストに分類され、単一のPHPフロントコントローラーがホスト名に基づいて適切なコンテンツを表示します。* .mydomain.comの単一のワイルドカードDNSレコードは、現在のサーバーを指します。
さまざまなユーザーサブドメインをさまざまなサーバーにルーティングするための最善のオプションは何ですか?
私の考え:
- すべてのサーバーの新しいトップレベルドメイン。user.s1.mydomain.com、user.s2.mydomain.comなど(不法で情報漏えい)
- 自分のDNSサーバーを実行して、サーバー間でユーザーをルーティングします(追加の障害ポイント、なじみのないテクノロジー)
- すべての要求を適切なサーバーにリバースプロキシする中央フロントコントローラー/バランサー(追加の障害点、潜在的に制限された接続)