名前ベースの仮想ホストを使用してApache2をリバースプロキシとして設定し、リクエストをバックエンドサーバーにルーティングする方法を決定したいと思います。十分に単純です。
問題は、これらのバックエンドサーバーが動的に追加および削除される可能性があることです。私の最初のアイデアは、Apache構成ファイルをプログラムで書き直しapachectl graceful
、バックエンドサーバーが起動または停止するたびに呼び出すことでした。これは正しい解決策のようには思えません。これを達成するためのより良い方法は何ですか?
名前の処理を別のバックエンドサーバーに適切に転送できる必要があります。たとえば、Backend-Server-Aがexample.comのリクエストを処理している可能性があります。監視プロセスにより、Backend-Server-Aが古くなっていると判断される場合があります(メモリ使用量が多すぎる、example.comを処理するための新しいバージョンのサーバーコードがあるなど)。監視プロセスはBackend-Server-Bを開始し、example.comのリクエストをまもなく処理します。Apacheは、example.comなどの新しいリクエストをBackend-Server-Bに送信する必要がありますが、Backend-Server-Aが現在処理されている保留中のリクエストは、Backend-Server-Aがシャットダウンされる前に完了できるようにします。
更新:サーバー障害に投稿