第3章 JBoss HTTP コネクター (mod_proxy_cluster) を使用した負荷分散
mod_proxy_cluster
コネクターは、設定が簡素化されたインテリジェントな負荷分散ソリューションです。これを使用することで、Apache HTTP サーバーはバックエンドの JBoss Web Server または JBoss EAP ホストに接続できるようになります。mod_proxy_cluster
モジュールは、JBoss mod_cluster
コミュニティープロジェクトが最初に開発した技術に基づいています。
3.1. Mod_proxy_cluster
の主な特徴とコンポーネント
mod_proxy_cluster
モジュールは、JBoss EAP および JBoss Web Server ワーカーノードへの HTTP リクエストの負荷を分散します。mod_proxy_cluster
モジュールは、プロキシーサーバーとして Apache HTTP Server を使用します。
mod_proxy_cluster
の主な機能
他の mod_proxy_cluster
コネクターと比べて mod_cluster
コネクターには複数の利点があります。
-
mod_proxy_cluster
モジュールを有効にすると、mod_proxy_cluster
Management Protocol (MCMP) が Tomcat サーバーと Apache HTTP Server の間の追加接続となります。Tomcat サーバーは、MCMP を使用して、HTTP メソッドのカスタムセットを使用して、サーバー側の負荷数値とライフサイクルイベントを Apache HTTP Server に送信します。 -
Apache HTTP Server with
mod_proxy_cluster
の動的な設定により、mod_proxy_cluster
リスナーを持つ Tomcat サーバーは、手動で設定しなくても負荷分散配置に加わることができます。 - Tomcat サーバーは、Apache HTTP Server に依存せず、負荷計算を実行します。これにより、負荷分散メトリックが他のコネクターよりも正確になります。
-
mod_proxy_cluster
コネクターにより、アプリケーションライフサイクルを細かく制御できるようになります。各 Tomcat サーバーは、Web アプリケーションコンテキストのライフサイクルイベントを Apache HTTP Server に転送します。これらのライフサイクルイベントには、特定のコンテキストのルーティングリクエストを開始または停止するように Apache HTTP Server に通知することが含まれます。これにより、リソースが利用できないためにエンドユーザーに HTTP エラーが表示されるのを防ぎます。 -
mod_proxy_cluster
では、Apache JServ Protocol (AJP)、Hypertext Transfer Protocol (HTTP)、または Hypertext Transfer Protocol Secure (HTTPS) トランスポートを使用できます。
Mod_proxy_cluster
コンポーネント
プロキシーサーバーでは、mod_proxy_cluster
は 4 つの Apache モジュールで構成されます。
コンポーネント | 説明 |
---|---|
| Shared Memory Manager モジュールは、リアルタイムのワーカーノード情報を複数の Apache HTTP Server プロセスと共有します。 |
| Cluster Manager モジュールは、ノードの登録、ノードの負荷データ、ノードアプリケーションのライフサイクルイベントなど、ワーカーノードからメッセージを受信および確認します。 |
| Proxy Balancer モジュールは、クラスターノードへの要求ルーティングを処理します。Proxy Balancer は、クラスターのアプリケーションの場所、各クラスターノードの現在の状態、およびセッション ID (リクエストが確立されたセッションの一部である場合) に基づいて適切な宛先ノードを選択します。 |
| Proxy Advertisement Module は、UDP マルチキャストメッセージを介してプロキシーサーバーの存在をブロードキャストします。サーバーのアドバタイズメッセージには、負荷分散クラスターに参加するワーカーノードからの応答をプロキシーサーバーがリッスンしている IP アドレスとポート番号が含まれます。 |