第16章 HTTP クラスタリングおよび負荷分散
16.1. はじめに
16.1.1. 高可用性および負荷分散クラスター
- アプリケーションサーバーのインスタンス
- 内部 JBoss Web サーバー、Apache HTTPD、Microsoft IIS、または Oracle iPlanet Web Server と併用される Web アプリケーション。
- ステートフル、ステートレス、およびエンティティー Enterprise JavaBean (EJB)
- シングルサインオン (SSO) メカニズム
- 分散キャッシュ
- HTTP セッション
- JMS サービスおよびメッセージ駆動型 Bean (MDB)
16.1.2. 高可用性が有益なコンポーネント
JBoss EAP 6 の複数のインスタンス (スタンドアローンサーバーとして実行) またはサーバーグループのメンバー (管理対象ドメインの一部として実行) を高可用性として設定できます。つまり、1 つのインスタンスまたはメンバーが停止したり、クラスターから消去された場合、そのワークロードはピアに移行されます。負荷分散機能を提供するようワークロードを管理することもできるため、多くの優れたリソースを持つサーバーやサーバーグループは、より多くのワークロードを担当できます。また、負荷が高い間、処理能力を追加することも可能です。
互換性のある負荷分散メカニズムの 1 つを使用して Web サーバー自体も HA 用にクラスター化できます。mod_cluster
コネクターが最も柔軟で、 JBoss EAP 6 のコンテナと密接に統合されます。他にも、Apache の mod_jk
または mod_proxy
コネクター、ISAPI および NSAPI コネクターなどがあります。
Java Enterprise Edition 6 (Java EE 6) 仕様によって、デプロイされたアプリケーションを高可用化できます。ステートレスまたはステートフルセッション EJB をクラスター化できるため、作業に関与するノードがなくなった場合に他のノードによる引き継ぎが可能です。ステートフルセッション Bean の場合は状態が保持されます。
16.1.3. HTTP コネクターの概要
表16.1 HTTP コネクター機能および制約
コネクター | Web サーバー | サポート対象オペレーティングシステム | サポート対象プロトコル | デプロイメント状態への適合 | スティッキーセッションのサポート |
---|---|---|---|---|---|
mod_cluster | JBoss Enterprise Web Server HTTPD、Native HTTPD (Red Hat Enterprise Linux、Hewlett-Packard HP-UX) | Red Hat Enterprise Linux、Microsoft Windows Server、Oracle Solaris、Hewlett-Packard HP-UX | HTTP、HTTPS、AJP | 可。アプリケーションのデプロイメントとデプロイメント解除を検出し、アプリケーションがそのサーバーにデプロイされたかどうかに基づいて、サーバーにクライアント要求を送信するかどうかを動的に決定します。 | あり |
mod_jk | JBoss Enterprise Web Server HTTPD、Native HTTPD (Red Hat Enterprise Linux、Hewlett-Packard HP-UX) | Red Hat Enterprise Linux、Microsoft Windows Server、Oracle Solaris、Hewlett-Packard HP-UX | AJP | 不可。アプリケーションステータスに関係なく、コンテナーが利用可能な限り、クライアント要求をコンテナーに送信します。 | あり |
mod_proxy | JBoss Enterprise Web Server HTTPD | Red Hat Enterprise Linux、Microsoft Windows Server、 Oracle Solaris | HTTP、HTTPS、AJP | 不可。アプリケーションステータスに関係なく、コンテナーが利用可能な限り、クライアント要求をコンテナーに送信します。 | あり |
ISAPI | Microsoft IIS | Microsoft Windows Server | AJP | 不可。アプリケーションステータスに関係なく、コンテナーが利用可能な限り、クライアント要求をコンテナーに送信します。 | あり |
NSAPI | Oracle iPlanet Web Server | Oracle Solaris | AJP | 不可。アプリケーションステータスに関係なく、コンテナーが利用可能な限り、クライアント要求をコンテナーに送信します。 | あり |
各 HTTP コネクターの詳細について
16.1.4. ワーカーノード
ワーカーノードは、1 つまたは複数のクライアント向け HTTPD サーバーから要求を受け入れる JBoss EAP 6 サーバーで、単に ノード と呼ばれることもあります。JBoss EAP 6 は独自の HTTPD、JBoss Enterprise Web Server に同梱された HTTPD、Apache HTTPD、Microsoft IIS、または Oracle iPlanet Web Server (以前の Netscape Web Server) から要求を受け入れることができます。
クラスターノードはサーバーのクラスターのメンバーです。このようなクラスターは、負荷分散、高可用性、またはその両方です。負荷分散クラスターでは、中央マネージャーが状況固有の均等性の単位を使用してノード間で負荷を均等に分散します。高可用性クラスターでは、一部のノードがアクティブに処理を行い、他のノードはアクティブなノードのいずれかがクラスターから離れるまで待機します。