ORACLE JAPAN Server Release 6.1

 

  |  

  WebLogic Server ホーム   |     WebLogic Server クラスタ   |   前へ   |   次へ   |   目次   |   索引   |   PDF 版

WebLogic Server のクラスタ化の概要

 

以下の節では、WebLogic Server クラスタについて説明します。

 


WebLogic Server クラスタとは

WebLogic Server クラスタはより強力で、より信頼性のあるアプリケーション プラットフォームを提供するためのサーバ群です。クラスタはそのクライアントにとって単一のサーバに見えますが、実際には、一体で機能するサーバ群です。クラスタは、単一のサーバを越える下記の 2 つの重要な機能を提供します。

WebLogic Server クラスタは、J2EE アプリケーションにスケーラビリティと高可用性を提供するよう設計されています。これらの機能はアプリケーションの作成者とクライアントには透過的な方法で提供されます。ただし、アプリケーションのスケーラビリティと可用性を最大にするには、プログラマと管理者がクラスタ化固有の問題を理解しておく必要があります。

 


クラスタ化されたサービス

クラスタ化されたサービスは、クラスタ内の複数のサーバで利用できる API とインタフェースです。WebLogic Server が提供する主なクラスタ サービスは、HTTP セッション ステートのクラスタ化とオブジェクトのクラスタ化の 2 つです。以降の節で説明するように、WebLogic Server では JMS 送り先と JDBC 接続のクラスタ化にも対応しています。

HTTP セッション ステート

WebLogic Server は、クラスタ化されたサーブレットと JSP にアクセスするクライアントの HTTP セッション ステートをレプリケートすることで、サーブレットと JSP 向けのクラスタ化 サポートを提供します。HTTP セッション ステートのクラスタ化のメリットを活かすには、インメモリ レプリケーション、ファイルシステムの永続性、または JDBCの永続性をコンフィグレーションすることで、セッション ステートを永続的にしておく必要があります。 HTTP セッション ステートのレプリケーションについてでは、クラスタ化されたサーブレットと JSP 向けのインメモリ レプリケーションについて説明しています。ファイルの永続性と JDBC 永続性の詳細については、『WebLogic HTTP サーブレット プログラマーズ ガイド』の「セッションの永続化」を参照してください。

EJB と RMI オブジェクト

EJB と RMI オブジェクトのロード バランシングとフェイルオーバは、特殊なレプリカ対応スタブを使用して処理されます。このスタブは、クラスタ全体の中でオブジェクトのインスタンスを見つけることができます。EJB と RMI オブジェクト用のレプリカ対応スタブを作成するには、適切なデプロイメント プロパティを指定するか、またはコマンドライン オプションを rmic に追加します。クラスタ化されたオブジェクトをデプロイする場合は、クラスタ内のすべてのサーバ インスタンスにオブジェクトをデプロイします(均一デプロイメント)。オブジェクトのクラスタ化の詳細については、 オブジェクトのクラスタ化についてを参照してください。

JMS

WebLogic の JMS アーキテクチャでは、複数の JMS サーバの「クラスタ化」を実装するため、クラスタ内のすべてのサーバから送り先へのクラスタワイドで透過的なアクセスがサポートされています。WebLogic Server は、JMS の送り先と接続ファクトリのクラスタ全体への分散をサポートしますが、JMS のキューおよびトピックはクラスタ内の個々の WebLogic Server インスタンスによって管理されます。

WebLogic JMS のクラスタ化には、次のような利点があります。

WebLogic JMS の詳細と、JMS を対象としたクラスタのサポートについては、『WebLogic JMS プログラマーズ ガイド』の「WebLogic JMSの概要」を参照してください。

JDBC 接続

WebLogic Server では、データ ソース、接続プール、マルチプールなどの JDBC オブジェクトをクラスタ化して、クラスタ環境で運用されるアプリケーションの可用性を高めることができます。JDBC オブジェクトをコンフィグレーションし、そのターゲットをクラスタに設定するとき、クラスタ用にコンフィグレーションする各 JDBC オブジェクトは、クラスタ内の各管理対象サーバ上に存在している必要があります。

JDBC の詳細については、『管理者ガイド』の「JDBC コンポーネント(接続プール、データソース、およびマルチプール)」を参照してください。

クラスタ化された JDBC を使用しての接続の取得

どのクラスタ メンバーによってもすべての JDBC リクエストを同様に処理できることを保証するには、クラスタ内の各管理サーバのプールと(使用する場合の)マルチプールが、同じ名前を付けて同じように定義される必要があります。外部クライアントでの使用を想定する場合、データ ソースのターゲットをクラスタに設定することをお勧めします。これによりデータ ソースがクラスタ対応になり、データ ソースの接続をどのクラスタ メンバーからも利用できるようになります。

JDBC 接続のフェイルオーバとロード バランシング

JDBC オブジェクトをクラスタ化しても接続のフェイルオーバは実現されませんが、接続に障害が発生したときの再接続のプロセスを簡略化することができます。複製されたデータベース環境では、マルチプールをクラスタ化することによってデータベースのフェイルオーバを、また必要に応じて接続のロード バランシングを実現できます。詳細については、以下の各節を参照してください。

クラスタ化されていないサービスと API

一部の API と内部サービスは、WebLogic Server ではクラスタ化できません。その内容は次のとおりです。

これらのサービスは、クラスタ内の個々の WebLogic Server インスタンスでは使用できます。ただし、これらのサービスに関してロード バランシングやフェイルオーバ機能は利用できません。

 


WebLogic Server バージョン 6.1 のクラスタの新機能

WebLogic Server バージョン 6.1 では、Weblogic Server バージョン 5.x と比較して、サーバ インスタンスのクラスタとしてコンフィグレーションする際の以下の機能と改良点を新たに取り入れました。

ロード バランシング ハードウェアの統合サポート

WebLogic Server は、クライアントがサポート対象のロード バランシング ハードウェアを使ってクラスタに直接アクセスする場合に、クラスタ化されたサーブレットと JSP 向けのロード バランシングとフェイルオーバをサポートするようになりました。HttpClusterServlet または WebLogic Server のプロキシ プラグインを使用して HTTP リクエストをクラスタにプロキシする場合に、クラスタ化されたシステムは不要となりました。詳細については、「 HTTP セッション ステートのレプリケーションについて」を参照してください。

ステートフル セッション EJB のクラスタ化

WebLogic Server は、ステートフル セッション EJB インスタンスの EJBObject(と EJBHome オブジェクト)のクラスタ化をサポートするようになりました。WebLogic Server は、HTTP セッション ステートをレプリケートするのと似た方法で、ステートフル セッション EJB をメモリ内にレプリケートします。詳細については、 オブジェクトのクラスタ化についてを参照してください。

クラスタ化された JMS

WebLogic Server は、クラスタ全体への JMS の送り先と接続ファクトリの配布をサポートするようになりました。ただし、JMS のトピックとキューがクラスタ内の個々の WebLogic Server インスタンスによって管理される点は変わりません。

HTTP セッション ステート レプリケーションに関する変更

WebLogic Server バージョン 6.1 では、クラスタ化されたサーバ インスタンス間でサーブレットのセッション ステートをレプリケートするためのより堅牢なメカニズムを導入しました。以前のサーバ バージョンと同じく、WebLogic Server は、サーブレットのセッション ステートの 2 つのコピー(プライマリとセカンダリ)をクラスタ内の別々のサーバ インスタンス上で維持します。バージョン 6.1 では、次の方法によって、レプリケーション システムを改良しました。

これらの変更によって、より幅広いシナリオでのフェイルオーバに対応できるようになると共に、WebLogic Server がロード バランシング ハードウェアと直接連携して処理を行えるようになります。詳細については、 HTTP セッション ステートのレプリケーションについてを参照してください。

 


WebLogic Server バージョン 6.1 での管理に関する変更

以下の変更に合わせて、WebLogic Server 6.1 でクラスタを管理する方法も WebLogic Server バージョン 5.x の方法から変更されました。

マルチキャスト メッセージに関する変更

複数の WebLogic Server バージョン 6.1 クラスタは、ブロードキャスト メッセージの競合を起こさずに、単一のマルチキャスト アドレスを「共有」できるようになりました。クラスタごとに専用のマルチキャスト アドレスを割り当てる必要はありません。

ただし、ほかのアプリケーションが WebLogic Server のマルチキャスト アドレスを使用しないようにする必要はあります。他のアプリケーションがクラスタのマルチキャスト アドレスに対してブロードキャストする場合、クラスタ内のすべてのサーバは、それらのメッセージをデシリアライズして、クラスタ関連のメッセージでないことを調べなければなりません。これによって無用なオーバーヘッドが生まれるので、サーバが実際のクラスタ関連のブロードキャスト メッセージの送信に失敗する可能性があります。

均一デプロイメント

WebLogic Server バージョン 6.1 は、クラスタ化されたオブジェクトの均一デプロイメントだけをサポートします。オブジェクトをクラスタ可能オブジェクトとしてコンパイルした場合(オブジェクトがレプリカ対応スタブを持つ場合)は、そのオブジェクトをクラスタのすべてのメンバーに対してデプロイする必要があります。

クラスタ化されていないオブジェクト(EJB と RMI クラス)は、クラスタ内の個々のサーバにデプロイできます。

管理サーバのコンフィグレーション

WebLogic Server 6.1 クラスタのコンフィグレーションはすべて、Administration Console を使用して行います。Administration Console は、クラスタのコンフィグレーション情報を 1 つの XML コンフィグレーション ファイルに保存します。また、Administration Console は、クラスタ メンバーへのオブジェクトおよび Web アプリケーションのデプロイメントも管理します。

WebLogic Server 6.1 のコンフィグレーション全般については、『管理者ガイド』を参照してください。Administration Console を使用したクラスタのコンフィグレーションについては、「 WebLogic クラスタの管理」を参照してください。

 

back to top previous page next page