BEA
WebLogic
Server
™
WebLogic Server
ク ラ ス タ
ユーザーズ
Copyright © 2002, BEA Systems, Inc. All Rights Reserved.
限定的権利条項
本ソ フ ト ウ ェ アおよびマニ ュ アルは、 BEA Systems, Inc. 又は日本ビー ・ イー ・ エー ・ シ ス テムズ 株式会社 ( 以下、 「BEA」 と いい ます ) の使用許諾契約に基づいて提供さ れ、 その内容に同意する 場合にのみ使用する こ と ができ、 同契約の条項通 り にのみ使用ま たはコ ピーする こ と ができ ます。 同契約で明示的に許可さ れてい る以外の方法で同 ソ フ ト ウ ェ アを コ ピーする こ と は法律に違反し ます。 こ のマニ ュ アルの一部ま たは全部を、 BEA か ら の書面に よ る事前の同意な し に、 複写、 複 製、 翻訳、 あ る いはいかな る電子媒体ま たは機械可読形式への変換も行 う こ と はでき ません。 米国政府に よ る使用、 複製 も し く は開示は、 BEA の使用許諾契約、 および FAR 52.227-19 の 「Commercial Computer Software-Restricted Rights」 条項のサブパラ グ ラ フ (c)(1)、 DFARS
252.227-7013 の 「Rights in Technical Data and Computer Software」 条項のサブパ ラ グ ラ フ (c)(1)(ii) 、 NASA FAR 補遺 16-52.227-86 の 「Commercial Computer Software--Licensing」 条項のサ
ブパ ラ グ ラ フ (d)、 も し く はそれ ら と 同等の条項で定め る制限の対象 と な り ます。 こ のマニ ュ アルに記載さ れてい る内容は予告な く 変更 さ れる こ と があ り 、 ま た BEA に よ る責務を 意味する も のではあ り ません。 本ソ フ ト ウ ェ アおよびマニ ュ アルは 「現状のま ま」 提供さ れ、 商 品性や特定用途への適合性を始め と する ( ただ し、 こ れ ら には限定 さ れない ) いかな る種類の保 証も与え ません。 さ ら に、 BEA は、 正当性、 正確 さ、 信頼性などについて、 本ソ フ ト ウ ェ アま た はマニ ュ アルの使用 も し く は使用結果に関し ていかな る確約、 保証、 あ るいは表明も行いません。
商標または登録商標
BEA、 Jolt、 Tuxedo、 および WebLogic は BEA Systems, Inc. の登録商標です。 BEA Builder、 BEA Campaign Manager for WebLogic、 BEA eLink、 BEA Manager、 BEA WebLogic Commerce Server、 BEA WebLogic Enterprise、 BEA WebLogic Enterprise Platform、 BEA WebLogic Express、 BEA WebLogic Integration、 BEA WebLogic Personalization Server、 BEA WebLogic Platform、 BEA WebLogic Portal、BEA WebLogic Server、BEA WebLogic Workshop および How Business Becomes E-Business は、 BEA Systems, Inc の商標です。
その他の商標はすべて、 関係各社がその権利を有し ます。
WebLogic Server ク ラ ス タ ユーザーズ ガ イ ド
パー ト 番号 マニュアルの改訂 ソ フ ト ウ ェ アのバージ ョ ン
目次
このマニュアルの内容
対象読者...xi
e-docs Web サイト ...xii
このマニュアルの印刷方法 ... xii 関連情報...xii サポート情報 ...xiii 表記規則...xiv
1.
WebLogic Server
クラスタ化の概要
WebLogic Server クラスタとは...1-1 クラスタとドメインの関係 ...1-2 クラスタ化の利点 ...1-3 クラスタの重要な機能...1-4 クラスタ化可能なオブジェクトの種類 ...1-5 サーブレットと JSP ...1-6 EJB と RMI オブジェクト...1-7 JDBC 接続 ...1-8 クラスタ化された JDBC との接続の取得 ...1-9 JDBC 接続のフェイルオーバとロード バランシング ...1-10 JMS ...1-10 クラスタ化できないオブジェクトの種類 ...1-11 WebLogic Server 7.0 の新しいクラスタ化機能...1-11 1 台のマシン上で 1 つの IP アドレスを使用してクラスタを作成可能... 1-11 コンフィグレーション ウィザードによる新しいクラスタの作成...1-12 JMS の可用性の向上...1-122.
クラスタでの通信
クラスタでの WebLogic Server の通信 ...2-1 IP マルチキャストを使用した 1 対多通信 ...2-1Java ソケット実装用にリーダー スレッドをコンフィグレーションす
る...2-7 ソケット経由のクライアント通信...2-9 クラスタワイドの JNDI ネーミング サービス...2-10
WebLogic Server によるクラスタワイドの JNDI ツリー作成のしくみ .. 2-11
JNDI 名の衝突が発生するしくみ ...2-13
均一なデプロイメントによってクラスタレベルの JNDI の衝突を回 避する ...2-14
WebLogic Server による JNDI ツリー更新のしくみ ...2-15
クライアントとクラスタワイドの JNDI ツリーとの対話 ...2-15
3.
クラスタのコンフィグレーションとアプリケーションのデ
プロイメント
クラスタのコンフィグレーションと config.xml...3-1 管理サーバの役割...3-2 管理サーバに障害が発生した場合...3-4 動的コンフィグレーションの仕組み ...3-5 アプリケーションのデプロイメントについて...3-6 デプロイメントの方法...3-6 2 フェーズ デプロイメントの概要 ...3-7 デプロイメントの準備 ...3-7 デプロイメントの活性化...3-8 クラスタへのデプロイメントのガイドライン...3-8 WebLogic Server 7.0 のデプロイメントの制限 ...3-9 WebLogic Server 7.0 SP1 以降でのデプロイメント ルールの「緩和」 3-9 クラスタをコンフィグレーションする方法...3-11 ドメイン コンフィグレーション ウィザードの機能...3-12 Administration Console の機能 ...3-12 WebLogic Server のコンフィグレーション タスク...3-13 WebLogic クラスタのコンフィグレーション タスク ...3-13 デプロイメント タスク ...3-134.
クラスタでのロード
バランシング
サーブレットと JSP のロード バランシング ...4-1 プロキシ プラグインによるロード バランシング...4-2 プロキシ プラグインによるセッションの接続とフェイルオーバの仕 組み...4-2 外部ロード バランサによる HTTP セッションのロード バランシング 4-3 ロード バランサのコンフィグレーション要件 ...4-3 ロード バランサと WebLogic セッション クッキー...4-4 関連するプログラミングの考慮事項 ...4-5 ロード バランサでのセッション接続およびフェイルオーバの仕組み 4-5 EJB と RMI オブジェクトのロード バランシング...4-5 EJB と RMI オブジェクトのロード バランシング...4-6 ラウンドロビンのロード バランシング...4-6 重みベースのロード バランシング ...4-7 ランダム ロード バランシング...4-8 クラスタ化されたオブジェクトのパラメータベースのルーティング ..4-8 連結されたオブジェクトの最適化 ...4-9 トランザクションの連結...4-12 JMS のロード バランシング ...4-13 分散 JMS 送り先のサーバ アフィニティ ...4-14 JDBC 接続のロード バランシング ...4-145.
クラスタのフェイルオーバとレプリケーション
WebLogic Server で障害を検出する仕組み...5-1 IP ソケットを使用した障害検出...5-2 WebLogic Server の「ハートビート」...5-2 サーブレットと JSP のレプリケーションとフェイルオーバ ...5-3 HTTP セッション ステートのレプリケーション ...5-3 HTTP セッション ステートのレプリケーションに関する必要条件 . 5-4 レプリケーション グループを使用する...5-6 クラスタ化されたサーブレットと JSP へのプロキシ経由のアクセス ..5-9 プロキシ接続の手順 ...5-10 プロキシ フェイルオーバのプロセス ...5-11ロード バランシング ハードウェアを利用した接続...5-12 ロード バランシング ハードウェアを利用したフェイルオーバ...5-14 EJB と RMI のレプリケーションとフェイルオーバ ...5-16 レプリカ対応スタブによるオブジェクトのクラスタ化 ...5-17 各種の EJB でのクラスタ化サポート...5-18 EJB ホームのスタブ ...5-18 ステートレス EJB ...5-18 ステートフル EJB ...5-19 エンティティ EJB ...5-22 RMI オブジェクトのクラスタ化のサポート ...5-23 オブジェクト デプロイメントの必要条件 ...5-23 他のフェイルオーバの例外...5-24 固定サービスの移行...5-24 固定サービスの移行の仕組み ...5-25 クラスタ内の移行可能対象サーバの定義 ...5-25 フェイルオーバと JDBC 接続 ...5-27
6.
クラスタ
アーキテクチャ
アーキテクチャとクラスタ関連の用語 ...6-1 アーキテクチャ ...6-1 Web アプリケーションの「層」...6-2 組み合わせ層アーキテクチャ ...6-3 非武装地帯 (DMZ) ...6-3 ロード バランサ ...6-3 プロキシ プラグイン...6-4 推奨基本アーキテクチャ ...6-4 組み合わせ層アーキテクチャを使用しない状況...6-6 推奨多層アーキテクチャ ...6-7 ハードウェアとソフトウェアの物理レイヤ ...6-9 Web/プレゼンテーション レイヤ ...6-9 オブジェクト レイヤ ...6-9 多層アーキテクチャの利点 ...6-9 多層アーキテクチャでのクラスタ化オブジェクトのロード バランシング6-10 多層アーキテクチャのコンフィグレーションに関する注意...6-12 多層アーキテクチャに関する制限 ...6-13 連結の最適化が行われない...6-13 ファイアウォールに関する制限 ...6-14 推奨プロキシ アーキテクチャ ...6-15 2 層プロキシ アーキテクチャ...6-15 ハードウェアとソフトウェアの物理レイヤ ...6-17 多層プロキシ アーキテクチャ ...6-18 プロキシ アーキテクチャの利点 ...6-19 プロキシ アーキテクチャの制限 ...6-19 プロキシ プラグインとロード バランサ...6-20 クラスタ アーキテクチャのセキュリティ オプション ...6-21 プロキシ アーキテクチャの基本ファイアウォール...6-21 基本ファイアウォール コンフィグレーションの DMZ ...6-23 ファイアウォールとロード バランサを組み合わせる...6-24 内部クライアントに対してファイアウォールを拡張する ...6-25 共有データベースに対するセキュリティの追加...6-27 ファイアウォールが 2 つあるコンフィグレーションの DMZ...6-28 問題の回避...6-29 管理サーバについての考慮事項 ...6-29 ファイアウォールについての考慮事項 ...6-30 プロダクション環境で使用する前にクラスタのキャパシティを評価する 6-33
7.
WebLogic
クラスタの設定
始める前に...7-1 クラスタ ライセンスを取得する ...7-1 コンフィグレーション プロセスについて ...7-1 クラスタ アーキテクチャを決定する...7-2 ネットワーク トポロジとセキュリティ トポロジを考慮する...7-2 クラスタをインストールするマシンを選択する...7-3 マルチ CPU マシン上の WebLogic Server インスタンス ...7-3 ホスト マシンのソケット リーダー実装をチェックする ...7-4 切断された Windows マシン上でのクラスタの設定 ...7-4名前を WebLogic Server リソースに割り当てる...7-6 管理サーバのアドレスとポート ...7-6 管理対象サーバのアドレスとリスン ポート ...7-7 クラスタのマルチキャスト アドレスとマルチキャスト ポート...7-7 クラスタ アドレス ...7-8 クラスタ実装の手順...7-10 コンフィグレーションのロードマップ ...7-10 WebLogic Server をインストールする ...7-11 クラスタ化されたドメインを作成する ...7-12 WebLogic Server クラスタを起動する ...7-16 ノード マネージャをコンフィグレーションする...7-17 EJB と RMI のロード バランシング方式をコンフィグレーションする .. 7-18 パッシブなクッキーの永続性をサポートするロード バランサをコンフィ グレーションする ...7-19 プロキシ プラグインをコンフィグレーションする ...7-20 HttpClusterServlet を設定する...7-21 レプリケーション グループをコンフィグレーションする...7-24 固定サービスの移行可能対象をコンフィグレーションする...7-25 クラスタ化された JDBC をコンフィグレーションする ...7-26 接続プールをクラスタ化する ...7-27 マルチプールをクラスタ化する ...7-27 デプロイメント用にアプリケーションをパッケージ化する...7-29 アプリケーションをデプロイする...7-29 アプリケーションをクラスタにデプロイする ...7-29 サーバ インスタンスにデプロイする ( 固定デプロイメント )...7-31 クラスタのデプロイメントをキャンセルする ...7-32 デプロイ済みアプリケーションを表示する ...7-32 デプロイ済みアプリケーションをアンデプロイする ...7-33 移行可能サービスをデプロイ、活性化、および移行する...7-33 移行可能対象のサーバ インスタンスに JMS をデプロイする...7-33 移行可能サービスとして JTA を活性化する...7-34
インメモリ HTTP レプリケーションをコンフィグレーションする....7-36 コンフィグレーションに関するその他のトピック...7-37 IP ソケットをコンフィグレーションする ...7-37 マルチキャスト存続時間 (TTL) をコンフィグレーションする ....7-39 マルチキャスト バッファのサイズをコンフィグレーションする 7-40 マシン名をコンフィグレーションする...7-40 多層アーキテクチャのコンフィグレーションに関する注意 ...7-41 URL 書き換えを有効にする ...7-42
8.
一般的な問題のトラブルシューティング
クラスタを起動する前に ...8-1 クラスタ ライセンスのチェック ...8-1 サーバのバージョン番号のチェック...8-1 マルチキャスト アドレスのチェック...8-2 CLASSPATH の値のチェック ...8-3 スレッド カウントのチェック ...8-3 クラスタ起動後の作業...8-4 コマンドのチェック ...8-4 ログ ファイルの生成 ...8-4 Linux 環境での JRockit スレッド ダンプの取得 ...8-5 ガベージ コレクションのチェック ...8-6 utils.MulticastTest の実行 ...8-6A. WebLogic
クラスタの
API
API の使い方 ...A-1 カスタム呼び出しルーティングと連結の最適化 ...A-2B.
クラスタに関する
BIG-IP™
ハードウェアのコンフィグ
レーション
概要 ... B-1BIG-IP および WebLogic Server の使用時に URL 書き換えを利用する ... B-2 BIG-IP および WebLogic Server の使用時にセッションの永続性を利用する
このマニュ アルの内容
こ のマニ ュ アルでは、 BEA WebLogic Server™ ク ラ ス タについて説明し、
WebLogic Server 7.0 におけ る ク ラ ス タ の開発の概要について述べます。 こ のマニ ュ アルの構成は次の と お り です。 第 1 章 「WebLogic Server ク ラ ス タ化の概要」 第 2 章 「ク ラ ス タ での通信」 第 3 章 「ク ラ ス タの コ ン フ ィ グ レーシ ョ ン と アプ リ ケーシ ョ ンのデプ ロ イ メ ン ト」 第 4 章 「ク ラ ス タ での ロー ド バ ラ ンシ ング」 第 5 章 「ク ラ ス タのフ ェ イルオーバ と レプ リ ケーシ ョ ン」 第 6 章 「ク ラ ス タ アーキテ ク チャ」 第 7 章 「WebLogic ク ラ ス タの設定」 第 8 章 「一般的な問題の ト ラ ブルシ ューテ ィ ング」 付録 A 「WebLogic ク ラ ス タの API」 付録 B 「ク ラ ス タに関する BIG-IP™ ハー ド ウ ェ アの コ ン フ ィ グ レーシ ョ ン」
対象読者
こ のマニ ュ アルは、 1 つま たは複数の ク ラ ス タ上での Web ベース アプ リ ケー シ ョ ンのデプ ロ イ メ ン ト に関心があ る アプ リ ケーシ ョ ン開発者および管理者を対 象 と し ています 。 HTTP、 HTML コー ド 、 および Java プロ グ ラ ミ ング ( サーブ レ ッ ト 、 JSP、 または EJB のデプ ロ イ メ ン ト ) に読者が精通し てい る こ と を前提 と し て書かれています 。サイ ト
BEA 製品の ド キ ュ メ ン ト は、 BEA の Web サ イ ト で入手でき ます 。 BEA のホー
ム ページで [ 製品の ド キ ュ メ ン ト ] を ク リ ッ ク し ます 。
このマニュ アルの印刷方法
Web ブ ラ ウザの [ フ ァ イ ル|印刷 ] オプシ ョ ン を使用する と 、 Web ブ ラ ウザか ら
こ のマニ ュ アルのフ ァ イルを一度に 1 つずつ印刷で き ます。
こ のマニ ュ アルの PDF 版は、 WebLogic Server の Web サ イ ト で入手でき ます 。
PDF を Adobe Acrobat Reader で開 く と 、 マニ ュ アルの全体 ( ま たは一部分 ) を書
籍の形式で印刷でき ます。 PDF を表示する には、 WebLogic Server ド キ ュ メ ン ト のホーム ページ を開き、 [ ド キ ュ メ ン ト のダウ ン ロー ド ] を ク リ ッ ク し て、 印刷 する マニ ュ アルを選択し ます。
Adobe Acrobat Reader は Adobe の Web サ イ ト (http://www.adobe.co.jp) で無料で
入手でき ます。
関連情報
『WebLogic エン タープ ラ イ ズ JavaBeans プ ロ グ ラ マーズ ガ イ ド 』 の 「WebLogic Server EJB コ ンテナ と サポー ト さ れ るサービ ス」
『WebLogic HTTP サーブレ ッ ト プ ロ グ ラ マーズ ガ イ ド』
『Web アプ リ ケーシ ョ ンのアセンブル と コ ン フ ィ グ レーシ ョ ン』 の 「Web ア
サポー ト 情報
WebLogic Server の ド キ ュ メ ン ト に関するユーザか ら のフ ィ ー ド バ ッ ク は弊社に
と っ て非常に重要です。 質問や意見な どがあれば、 電子 メ ールで
[email protected] までお送 り く だ さ い。 寄せら れた意見については、 WebLogic Server ド キ ュ メ ン ト を作成および改訂する BEA の専門の担当者が直に
目を通し ます。
電子 メ ールの メ ッ セージには、 ご使用の ソ フ ト ウ ェ アの名前 と バージ ョ ン、 およ び ド キ ュ メ ン ト の タ イ ト ル と 日付をお書き添え く だ さ い。
本バージ ョ ンの BEA WebLogic Server について不明な点があ る場合、 ま たは
BEA WebLogic Server の イ ン ス ト ールおよび動作に問題があ る場合は、 BEA WebSUPPORT (www.bea.com) を通じ て BEA カ ス タ マ サポー ト までお問い合わ
せ く だ さ い。 カ ス タマ サポー ト への連絡方法については、 製品パ ッ ケージに同 梱さ れてい る カ ス タマ サポー ト カー ド に も記載 さ れています。 カ ス タ マ サポー ト では以下の情報をお尋ねし ますので、 お問い合わせの際はあ ら か じ めご用意 く だ さ い。 お名前、 電子 メ ール ア ド レ ス、 電話番号、 フ ァ ク ス番号 会社の名前 と 住所 お使いの機種 と コー ド 番号 製品の名前 と バージ ョ ン 問題の状況 と 表示さ れ るエ ラー メ ッ セージの内容
表記規則
こ のマニ ュ アルでは、 全体を通し て以下の表記規則が使用さ れています。 表記法 適用 太字のテキ ス ト 用語集で定義 さ れてい る 用語を示す。 〔Ctrl〕 + 〔Tab〕 複数のキーを同時に押す こ と を示す。 斜体 強調ま たは書籍の タ イ ト ルを示す。 等幅テキスト コ ー ド サンプル、 コ マ ン ド と そのオプシ ョ ン、 デー タ構造体 と そ の メ ンバー、 データ 型、 デ ィ レ ク ト リ 、 お よびフ ァ イ ル名 と その 拡張子を示す。 等幅テキ ス ト はキーボー ド か ら 入力する テキ ス ト も 示す。 例 :#include <iostream.h> void main ( ) the pointer psz chmod u+w * \tux\data\ap .doc tux.doc BITMAP float 太字の等幅 テキ ス ト 例コ ー ド 内の変数を示す。 : void commit ( ) 斜体の等幅テ キ ス ト 例コ ー ド 内の変数を示す。 : String expr
すべて大文 字のテ キ ス ト デバ イ ス名、 環境変数、 お よび論理演算子を示す。 例 : LPT1 SIGNON OR { } 構文の中で複数の選択肢を示す。 実際には、 こ の括弧は入力 し な い。 [ ] 構文の中で任意指定の項目を示す。 実際には、 こ の括弧は入力 し ない。 例 :
buildobjclient [-v] [-o name ] [-f file-list]... [-l file-list]... | 構文の中で相互に排他的な選択肢を区切 る。 実際には、 こ の記号 は入力し ない。 ... コ マン ド ラ イ ンで以下のいずれかを示す。 引数を複数回繰 り 返す こ と がで き る 。 任意指定の引数が省略 さ れてい る。 パ ラ メ ー タや値な どの情報を追加入力で き る 。 実際には、 こ の省略符号は入力 し ない。 例 :
buildobjclient [-v] [-o name ] [-f file-list]... [-l file-list]... . . . コー ド サンプルま たは構文で項目が省略 さ れてい る こ と を示す。 実際には、 こ の省略符号は入力 し ない。 表記法 適用
1
WebLogic Server
ク ラ ス タ化の概
要
こ の章では、 WebLogic Server ク ラ ス タ の概要について簡単に説明し ます。 説明 する内容は以下の と お りです。 1-1 ページの 「WebLogic Server ク ラ ス タ と は」 1-2 ページの 「ク ラ ス タ と ド メ イ ンの関係」 1-3 ページの 「ク ラ ス タ化の利点」 1-4 ページの 「ク ラ ス タ の重要な機能」 1-5 ページの 「ク ラ ス タ化可能なオブジ ェ ク ト の種類」 1-11 ページの 「ク ラ ス タ化で き ないオブジ ェ ク ト の種類」 1-11 ページの 「WebLogic Server 7.0 の新し い ク ラ ス タ化機能」WebLogic Server
ク ラ ス タ とは
WebLogic Server ク ラ ス タは、 同時に動作し、 共同で高度な ス ケーラ ビ リ テ ィ と 信頼性を実現する WebLogic Server プ ロ グ ラ ムの複数のコ ピーで構成 さ れます。 ク ラ ス タは ク ラ イ アン ト か ら は単一の WebLogic Server イ ン ス タ ン スの よ う に見 え ます。 ク ラ ス タ を構成する複数のサーバ イ ン ス タ ン スは同じ マシン上で実行 する こ と も、 複数のマシンに分散配置する こ と も でき ます。 ク ラ ス タの能力は、 既存のマシン上の ク ラ ス タ にサーバ イ ン ス タ ン ス を追加する こ と に よ っ て強化 でき ます。 ま た、 新たにサーバ イ ン ス タ ン ス を配置する ためのマシン を ク ラ ス タ に追加する こ と も でき ます。 ク ラ ス タ内の各サーバ イ ン ス タ ン スでは、 同じ バージ ョ ンの WebLogic Server が動作し ている必要があ ります。ク ラ ス タ と ド メ イ ンの関係
ク ラ ス タは特定の WebLogic Server ド メ イ ンの一部です。 ド メ イ ン と は、 関連性があ り 1 つの単位 と し て管理 さ れる WebLogic Server リ ソ ースの集合の こ と です。 ド メ イ ンには 1 つ以上の WebLogic Server イ ン ス タ ン スが含まれます。 こ れ ら の イ ン ス タ ン スは ク ラ ス タ構成に も非ク ラ ス タ構成に も で き、 ク ラ ス タ化 さ れた イ ン ス タ ン ス群 と そ う でない イ ン ス タ ン ス群を組み合わ せて構成する こ と も でき ます。 ド メ イ ンには、 複数の ク ラ ス タ を構成でき ます。 ま た ド メ イ ンには、 ド メ イ ンにデプ ロ イ さ れる アプ リ ケーシ ョ ン コ ンポーネン ト と 、 それ ら のアプ リ ケーシ ョ ン コ ンポーネン ト および ド メ イ ン内のサーバ イ ン ス タ ン スが必要 と する リ ソ ースおよびサービ ス も含まれます。 アプ リ ケーシ ョ ンおよびサーバ イ ン ス タ ン スで使用 さ れる リ ソ ース と サービ スの例には、 マシ ン定義、 オプシ ョ ンのネ ッ ト ワー ク チャ ネル、 コ ネ ク タ、 ス ター ト ア ッ プ ク ラ ス な どがあ り ます。 WebLogic Server イ ン ス タ ン スは、 さ ま ざ ま な基準に よ っ て ド メ イ ンに分類でき ます。 た と えば、 稼働する アプ リ ケーシ ョ ンの論理区分、 地理的な考慮事項、 あ る いは管理対象 リ ソ ースの数ま たは複雑 さ に基づいて、 複数の ド メ イ ンに リ ソ ー ス を選択的に割 り当て る こ と ができ ます。 ド メ イ ンの詳細については、 『WebLogic Server ド メ イ ン管理』 を参照し て く だ さ い。 各 ド メ イ ン内で、 1 つの WebLogic Server イ ン ス タ ン スが管理サーバ と し て機能 し ます。 こ のサーバ イ ン ス タ ン スでは、 ド メ イ ン内のその他のサーバ イ ン ス タ ン スおよび リ ソースのすべて を コ ン フ ィ グ レーシ ョ ン、 管理、 およびモニ タ し ま す。 各管理サーバでは 1 つの ド メ イ ンだけを管理し ます。 ド メ イ ンに複数の ク ラ ス タが含まれる場合、 ド メ イ ン内の各ク ラ ス タは同じ管理サーバに よ っ て管理 さ れます。 あ る ク ラ ス タ内のすべてのサーバ イ ン ス タ ン スは同じ ド メ イ ン内になければな りません。 ク ラ ス タ を複数の ド メ イ ンに 「分割する」 こ と はで き ません。 同様 に、 コ ン フ ィ グ レーシ ョ ン対象の リ ソース ま たはサブシ ス テ ム を複数の ド メ イ ン 間で共有する こ と はでき ません。 た と えば、 あ る ド メ イ ン内に JDBC 接続プール を作成する場合、 別の ド メ イ ン内のサーバ イ ン ス タ ン ス ま たは ク ラ ス タか ら そ の接続プールを使用する こ と はでき ません ( 代わ りに、 そのサーバ イ ン ス タ ン ス ま たは ク ラ ス タが属する ド メ イ ン内に同様の接続プールを作成する必要があ り ます )。ク ラ ス タ 化の利点 ク ラ ス タ化 さ れる WebLogic Server イ ン ス タ ン スの動作は、 フ ェ イルオーバ と ロー ド バ ラ ンシングの機能を備え る こ と 以外は、 ク ラ ス タ化 さ れない イ ン ス タ ン ス と 同様です。 ク ラ ス タ化さ れ る WebLogic Server イ ン ス タ ン スの コ ン フ ィ グ レーシ ョ ンに使用する プロ セ スおよびツールは、 ク ラ ス タ化さ れない イ ン ス タ ン スの場合 と 同じ です。 ただ し、 ク ラ ス タ化に よ っ て可能にな る ロー ド バ ラ ンシ ン グ と フ ェ イ ルオーバの効果を実現する ためには、 ク ラ ス タ のコ ン フ ィ グ レー シ ョ ンに関する特定のガ イ ド ラ イ ンに従 う 必要があ ります。 WebLogic Server で使用さ れ る フ ェ イルオーバおよびロー ド バ ラ ンシン グの メ カ ニズ ム と 、 個別の コ ン フ ィ グ レーシ ョ ン オプシ ョ ン と の関係については、4-1 ページの 「ク ラ ス タでのロー ド バ ラ ンシン グ」 および5-1 ページの 「ク ラ ス タ のフ ェ イ ルオーバ と レ プ リ ケーシ ョ ン」 を参照し て く だ さ い。 コ ン フ ィ グ レーシ ョ ン上の推奨事項については、7-1 ページの 「WebLogic ク ラ ス タの設定」 の手順説明で詳し く 示し ています。
ク ラ ス タ化の利点
WebLogic Server ク ラ ス タ を利用する こ と に よ っ て も た ら さ れ る利点には、 以下 の も のがあ ります。 ス ケーラ ビ リ テ ィ WebLogic Server ク ラ ス タ にデプ ロ イ さ れ る アプ リ ケーシ ョ ンの能力を、 必 要に応じ て動的に増強する こ と ができ ます。 サービ ス を中断さ せる こ と な く 、 つま り 、 ク ラ イ アン ト およびエン ド ユーザへの影響な し にアプ リ ケー シ ョ ンを動作さ せ続けなが ら、 ク ラ ス タにサーバ イ ン ス タ ン ス を追加で き ま す。 高可用性 WebLogic Server ク ラ ス タ では、 サーバ イ ン ス タ ン スで障害が発生し て も ア プ リ ケーシ ョ ンの処理を継続でき ます。 アプ リ ケーシ ョ ン コ ンポーネン ト の 「ク ラ ス タ化」 は、 ク ラ ス タ内の複数のサーバ イ ン ス タ ン ス上にコ ンポーネ ン ト をデプ ロ イする こ と に よ っ て行います。 そのため、 コ ンポーネン ト が動 作し てい る サーバ イ ン ス タ ン スに障害が発生し た場合、 同じ コ ンポーネン ト がデプ ロ イ さ れてい る別のサーバ イ ン ス タ ン スがアプ リ ケーシ ョ ンの処理をWebLogic Server イ ン ス タ ン スの ク ラ ス タ化は、 アプ リ ケーシ ョ ン開発者および ク ラ イ アン ト か ら は意識 さ れません。 ただ し、 ク ラ ス タ化を可能にする技術イ ン フ ラ ス ト ラ ク チ ャ を理解し てお く こ と は、 プ ロ グ ラ マおよび管理者が、 各自が扱 う アプ リ ケーシ ョ ンのス ケー ラ ビ リ テ ィ と 可用性を最大限に高める上で役立ち ま す。
ク ラ ス タの重要な機能
こ の節では、 ス ケーラ ビ リ テ ィ と 高可用性を実現する重要な ク ラ ス タ化の機能 を、 技術的でない観点か ら定義し ます。 フ ェ イルオーバ フ ェ イルオーバは単純に言 う と 、 特定の 「ジ ョ ブ」、 つま り 何 ら かの処理タ ス ク の集合を実行し てい る アプ リ ケーシ ョ ン コ ンポーネン ト ( 以下の節では 一般に 「オブジ ェ ク ト 」 と 呼称し ます ) が何ら かの理由に よ っ て使用不可に な った と きに、 障害を起 こ し たオブジ ェ ク ト の コ ピーがそのジ ョ ブを引き継 いで完了する こ と を意味し ます。 障害を起こ し たオブジ ェ ク ト の処理を新し いオブジ ェ ク ト が引き継ぐ ために は、 以下の条件が満た さ れてい る必要があ ります。 ジ ョ ブを引き継ぐ こ と のでき る、 障害を起こ し たオブジ ェ ク ト のコ ピー が存在し てい る こ と 。 すべてのオブジ ェ ク ト の場所および動作状態を定義する情報が、 他のオ ブジ ェ ク ト と 、 フ ェ イ ルオーバを管理するプ ロ グ ラ ムか ら参照でき る こ と 。 こ の情報は、 最初のオブジ ェ ク ト がそのジ ョ ブを完了する前に障害を 起 こ し た こ と を特定する ために必要です。 実行中のジ ョ ブの進捗状況についての情報が、 他のオブジ ェ ク ト と 、 フ ェ イルオーバを管理するプ ロ グ ラ ムか ら参照でき る こ と 。 中断 さ れた ジ ョ ブを引き継ぐ オブジ ェ ク ト は、 こ の情報を基に、 最初のオブジ ェ ク ト で障害が発生し た時点でジ ョ ブがどの程度完了し てい る か ( た と えば、 どのデータが変更 さ れ、 プ ロセ ス内のどの手順が完了し てい る か ) を認識 し ます。 WebLogic Server では、 標準に基づいた通信技術および通信機能であ る マルチキ ャ ス ト 、 IP ソ ケ ッ ト 、 および JNDI (Java Naming and Directory Interface) を利用し て、 ク ラ ス タ内のオブジ ェ ク ト の可用性に関する情報を共有および
ク ラ ス タ 化可能なオ ブ ジ ェ ク ト の種類 る前にオブジ ェ ク ト が停止し た こ と と 、 中断さ れたジ ョ ブを完了する ための オブジ ェ ク ト の コ ピーが存在する場所を特定し ます。 あ る ジ ョ ブに関し て どのよ う な処理が完了し てい るかについての情報を ス テー ト と 呼びます。 WebLogic Server では、 セ ッ シ ョ ン レプ リ ケーシ ョ ンお よびレ プ リ カ対応ス タ ブ と 呼ばれ る技術を利用し て、 ス テー ト についての情 報を維持し ます。 レプ リ ケーシ ョ ン技術に よ り、 特定のオブジ ェ ク ト が不意 にそのジ ョ ブの実行を停止し た と き、 障害を起 こ し たオブジ ェ ク ト がど こ で 停止し たかをオブジ ェ ク ト の別の コ ピーが認識し 、 代わ りにそのジ ョ ブを完 了する こ と が可能にな ります。 ロー ド バ ラ ンシング ロー ド バ ラ ンシング と は、 環境内の コ ン ピ ューテ ィ ン グ リ ソースおよび ネ ッ ト ワーキング リ ソ ース間で、 ジ ョ ブ と それに関連する通信を均等に分配 する こ と です。 ロー ド バ ラ ンシング を行 う ためには、 以下の条件が満た さ れ てい る必要があ ります。 特定のジ ョ ブを実行で き る オブジ ェ ク ト の複数の コ ピーが存在し てい る こ と 。 すべてのオブジ ェ ク ト の場所および動作状態についての情報が入手でき る こ と 。 WebLogic Server では、 オブジ ェ ク ト を ク ラ ス タ化、 つま り複数のサーバ イ ン ス タ ン ス上にデプロ イする こ と によ り、 同じ ジ ョ ブを実行する代替オブ ジ ェ ク ト を用意する こ と ができ ます。 WebLogic Server は、 デプ ロ イ さ れる オブジ ェ ク ト の可用性および場所の情報を、 マルチキ ャ ス ト 、 IP ソ ケ ッ ト 、 および JNDI を利用し て共有し、 維持し ます。 WebLogic Server での通信およびレ プ リ ケーシ ョ ン技術の利用形態について、 詳 し く は第 2 章 「 ク ラ ス タでの通信」 を参照し て く だ さ い。
ク ラ ス タ化可能なオブジ ェ ク ト の種類
ク ラ ス タ化 さ れる アプ リ ケーシ ョ ン ま たはアプ リ ケーシ ョ ン コ ンポーネン ト は、 ク ラ ス タ内の複数の WebLogic Server イ ン ス タ ン ス上で利用可能な も のです。 オ ブジ ェ ク ト を ク ラ ス タ化する と 、 そのオブジ ェ ク ト に対し て フ ェ イ ルオーバ と ロー ド バ ラ ンシングが有効にな ります。 ク ラ ス タの管理、 保守、 および ト ラ ブ ルシ ューテ ィ ングの手順を簡素化する には、 オブジ ェ ク ト を均一に、 つま りク ラWeb アプ リ ケーシ ョ ンは、 エン タープ ラ イ ズ JavaBeans (EJB)、 サーブレ ッ ト 、 Java Server Pages (JSP) など を含む さ ま ざ ま な種類のオブジ ェ ク ト で構成でき ま
す。 それぞれのオブジ ェ ク ト の種類ご と に、 制御、 呼び出し、 およびアプ リ ケー シ ョ ン内部での機能に関連する振る舞いのユニーク な集合が定義さ れています。 こ の理由か ら、 ク ラ ス タ化をサポー ト し、 ま たその結果 と し て ロー ド バ ラ ンシ ング と フ ェ イルオーバを実現する ために WebLogic Server で利用 さ れる手法は、 オブジ ェ ク ト の種類ご と に異な る可能性があ り ます。 WebLogic Server のデプロ イ メ ン ト では、 次の種類のオブジ ェ ク ト の ク ラ ス タ化が可能です。 サーブレ ッ ト JSP EJB
Remote Method Invocation (RMI) オブジ ェ ク ト
Java Message Service (JMS) の送 り 先
Java Database Connectivity (JDBC) 接続
種類の異な る オブジ ェ ク ト 間で、 一部の振る舞いが共通し てい る可能性があ り ま す。 その場合、 類似し たオブジ ェ ク ト タ イ プについては、 ク ラ ス タ化のサポー ト および実装上の考慮事項が一致する こ と があ ります。 以降の節では、 次のオブ ジ ェ ク ト タ イ プの組み合わせ別に説明および手順を示し ています。 サーブレ ッ ト と JSP EJB と RMI オブジ ェ ク ト 以降の節では、 WebLogic Server での ク ラ ス タ化、 フ ェ イルオーバ、 およびロー ド バラ ンシングのサポー ト について、 オブジ ェ ク ト の タ イ プ別に簡単に説明し ます。
サーブレ ッ ト と
JSP
WebLogic Server は、 ク ラ ス タ化さ れたサーブレ ッ ト と JSP にア ク セスする ク ラ イ アン ト の HTTP セ ッ シ ョ ン ス テー ト を レ プ リ ケー ト する こ と で、 サーブレ ッ ト と JSP 向けの ク ラ ス タ化サポー ト を提供し ます。 WebLogic Server では、 HTTP セ ッ シ ョ ン ス テー ト を メ モ リ 、 フ ァ イルシ ステ ム、 ま たはデータ ベースク ラ ス タ 化可能なオ ブ ジ ェ ク ト の種類 サーブレ ッ ト ま たは JSP の自動フ ェ イ ルオーバを有効にするには、 セ ッ シ ョ ン ス テー ト を メ モ リ に保持する必要があ ります。 サーブレ ッ ト ま たは JSP でのフ ェ イ ルオーバの仕組み、 および関連する要件 と プロ グ ラ ミ ングにおけ る考慮事項に ついては、5-3 ページの 「HTTP セ ッ シ ョ ン ス テー ト のレプ リ ケーシ ョ ン」 を参 照し て く だ さ い。 WebLogic Server プ ロ キシ プ ラ グ イ ン ま たは外部ロー ド バ ラ ンシ ング ハー ド ウ ェ アを使用し て、 ク ラ ス タ間でのサーブレ ッ ト および JSP の ロー ド バラ ンシ ン グが可能にな り ます。 WebLogic Server プ ロ キシ プ ラ グ イ ンは、 ラ ウ ン ド ロ ビ ンの ロー ド バラ ンシング を実行し ます。 外部の ロー ド バ ラ ンサは通常、 さ ま ざ ま なセ ッ シ ョ ン ロー ド バ ラ ンシン グ メ カニズム をサポー ト し ています。 詳細に ついては、4-1 ページの 「サーブレ ッ ト と JSP の ロー ド バ ラ ンシ ング」 を参照し て く だ さ い。
EJB
と
RMI
オブジ ェ ク ト
EJB と RMI オブジ ェ ク ト のロー ド バ ラ ンシン グ と フ ェ イ ルオーバは、 レプ リ カ 対応ス タブを使用し て処理 さ れます。 こ のス タ ブは、 ク ラ ス タ 全体の中か ら オブ ジ ェ ク ト の イ ン ス タ ン ス を見つけ出すための メ カニズ ムです。 レ プ リ カ対応ス タ ブは、 オブジ ェ ク ト の コ ンパ イル処理の結果 と し て EJB および RMI オブジ ェ ク ト に対し て作成 さ れます。 EJB と RMI オブジ ェ ク ト は均一に、 つま りク ラ ス タ 内のすべてのサーバ イ ン ス タ ン スにデプ ロ イ さ れます。 EJB と RMI オブジ ェ ク ト のフ ェ イルオーバは、 オブジ ェ ク ト のレプ リ カ対応ス タブを使用し て実現 さ れます。 ク ラ イ アン ト がレ プ リ カ対応ス タ ブを通じ て障害 が発生し たサービ スに対し て呼び出し を行 う と 、 ス タ ブはその障害を検出し 、 別 のレプ リ カに対し てその呼び出し を再試行し ます。 さ ま ざ ま な種類のオブジ ェ ク ト に対する フ ェ イ ルオーバのサポー ト については、5-16 ページの 「EJB と RMI のレプ リ ケーシ ョ ン と フ ェ イ ルオーバ」 を参照し て く だ さ い。WebLogic Server ク ラ ス タは、ク ラ ス タ化 さ れる EJB および RMI オブジ ェ ク ト 間
で ロー ド バ ラ ンシ ング を行 う ための複数のアルゴ リ ズム ( ラ ウ ン ド ロ ビ ン、 重 みベース、 ラ ンダム ) をサポー ト し ています。 デフ ォル ト では、 WebLogic
Server ク ラ ス タは ラ ウ ン ド ロ ビ ン方式を使用し ます。 Administration Console で、
他の方式を使用する よ う に ク ラ ス タ を コ ン フ ィ グ レーシ ョ ンでき ます。 選択し た 方法は、 ク ラ ス タ化 さ れたオブジ ェ ク ト 用に取得し た レプ リ カ対応ス タ ブ内で保 持さ れます。 詳細については、4-5 ページの 「EJB と RMI オブジ ェ ク ト の ロー ド
JDBC
接続
WebLogic Server では、 ク ラ ス タがホ ス ト と な る アプ リ ケーシ ョ ンの可用性を向 上 させる ために、 データ ソ ース、 接続プール、 マルチプールな どの JDBC オブ ジ ェ ク ト を ク ラ ス タ化で き ます。 ク ラ ス タ用に コ ン フ ィ グ レーシ ョ ン し た各 JDBC オブジ ェ ク ト は、 ク ラ ス タ内の各管理対象サーバに存在する必要があ りま す。 JDBC オブジ ェ ク ト を コ ン フ ィ グ レーシ ョ ンする場合は、 各オブジ ェ ク ト の 対象を ク ラ ス タに し ます。 データ ソ ース — ク ラ ス タ内で、 外部 ク ラ イ アン ト は、 JNDI ツ リ ー内の JDBC データ ソ ース を介し て接続を取得する必要があ ります。 データ ソ ースは、 WebLogic Server RMI ド ラ イ バを使用し て接続を取得し ます。 外部ク ラ イ アン ト アプ リ ケーシ ョ ンの WebLogic データ ソ ースは ク ラ ス タ対応なの で、 接続を ホ ス ト するサーバ イ ン ス タ ン スに障害が発生し た場合、 ク ラ イ ア ン ト は別の接続を要求で き ます。 必須ではあ りませんが、 サーバサ イ ド ク ラ イ アン ト も JNDI ツ リ ー内のデータ ソ ース を介し て接続を取得する こ と をお 勧め し ます。 接続プール — 接続プールは、 既成のデータベース接続の集ま りです。 接続 プールが起動する と 、 同一の物理的なデータベース接続が、 指定し た数だけ 作成さ れます。 接続プールでは起動時に接続を確立する ので、 アプ リ ケー シ ョ ン ご と にデータベース接続を作成する手間を省 く こ と がで き ます。 ク ラ イ アン ト サ イ ド と サーバサ イ ド の両方のアプ リ ケーシ ョ ンで、 JNDI ツ リ ー 内のデータ ソ ース を介し て接続プールか ら接続を取得する こ と をお勧め し ま す。 接続が完了し た ら、 アプ リ ケーシ ョ ンは接続を接続プールに返し ます。 マルチプール — マルチプールは、 基本的な接続プールを多重化し た も ので す。 アプ リ ケーシ ョ ンに と っ て、 マルチプールは基本的なプール と し て認識 さ れますが、 マルチプールでは接続プールのプールを確立でき ます。 接続属 性は、 接続プールご と に異な ります。 接続プール内の接続はすべて同一です が、 あ る プールで予期さ れた障害が起こ って も、 マルチプール内の他のプー ルが無効にな ら ない と い う 点で、 マルチプール内の各接続プールの接続は異 な っています。 通常、 こ れ ら のプールは、 同じ データベースの異な る イ ン ス タ ン ス を対象に し ます。 マルチプールは、 アプ リ ケーシ ョ ン接続を同じ よ う に処理でき る、 複数の異 な るデータベース イ ン ス タ ン スがあ る場合にのみ役立ち ます。 アプ リ ケー シ ョ ン シ ス テムでは、 アプ リ ケーシ ョ ンの作業がデータベース間に分散さ れ てい る場合に、 データベースの同期化を行います。 同じデータ ベース イ ン ス
ク ラ ス タ 化可能なオ ブ ジ ェ ク ト の種類 ます。 こ れは、 DBA があ る ユーザを無効に し、 別のユーザを有効に し てい る場合に便利です。 デフ ォル ト では、 ク ラ ス タ化さ れたプールは高可用性 (DBMS フ ェ イルオー バ ) を提供し ますロー ド バラ ンシング を提供する ためにマルチプールを コ ン フ ィ グ レーシ ョ ンする こ と も でき ます。 JDBC の詳細については、 『管理者ガ イ ド 』 の 「JDBC コ ンポーネン ト ( 接続プー ル、 データ ソ ース、 およびマルチプール )」 を参照し て く だ さ い。
ク ラ ス タ化された
JDBC
との接続の取得
JDBC リ ク エス ト を どの ク ラ ス タ メ ンバーで も処理でき る よ う にするには、 ク ラ ス タ内の各管理対象サーバが、 同じ よ う に命名ま たは定義 さ れたプール、 および 可能であればマルチプールを持つ必要があ ります。 外部ク ラ イ アン ト で使用する こ と を想定し たデータ ソ ースの場合は、 ク ラ ス タ を対象 と する必要があ ります。 こ れに よ り データ ソースは ク ラ ス タ対応 と な り、 どの ク ラ ス タ メ ンバーへの接 続も可能にな ります。 外部 ク ラ イ アン ト 接続 — データベース接続を必要 と する外部ク ラ イ アン ト は、 JNDI ル ッ ク ア ッ プを実行し、 データ ソースのレ プ リ カ対応ス タブを取 得し ます。 データ ソースのス タブには、 データ ソースのホ ス ト と な る サー バ イ ン ス タ ン ス ( ク ラ ス タ内の全管理対象サーバ ) の リ ス ト が格納 さ れてい ます。 レプ リ カ対応ス タブには、 ホ ス ト サーバ イ ン ス タ ン ス間に負荷を分 散する ための ロー ド バ ラ ンシン グ ロ ジ ッ ク が含まれています。 サーバサ イ ド ク ラ イ アン ト 接続 — サーバサ イ ド で使用する場合、アプ リ ケー シ ョ ン コー ド は、 JNDI ル ッ ク ア ッ プ と データ ソ ースの代わ り に直接サーバ サ イ ド プール ド ラ イバを使用で き ますが、 データ ソースが使用さ れてい る 場合、 そのデータ ソースはローカル オブジ ェ ク ト にな ります。 サーバサ イ ド データ ソースは、 その JDBC 接続については別の ク ラ ス タ メ ンバーに向 か う こ と はあ り ません。 データ ソ ースは、 参照先のプールか ら接続を取得し ます。 データベース ト ラ ンザ ク シ ョ ンの間、 およびアプ リ ケーシ ョ ン コー ド がそれを保持し てい る間 ( 接続が閉じ ら れる まで )、 接続はローカル サー バ イ ン ス タ ン スに固定 さ れます。JDBC
接続のフ ェ イルオーバと ロー ド
バラ ンシング
JDBC オブジ ェ ク ト を ク ラ ス タ化し て も接続のフ ェ イ ルオーバは有効にな りませ んが、 接続に障害が発生し た場合の再接続のプ ロ セス を簡略化する こ と ができ ま す。 レプ リ ケー ト さ れたデータベース環境では、 データベースのフ ェ イルオー バ、 および必要に応じ て接続の ロー ド バ ラ ンシ ング をサポー ト する ために、 マ ルチプールを ク ラ ス タ化でき ます。 詳細については、 以下の ト ピ ッ ク を参照し て く だ さ い。 ク ラ ス タ化さ れた JDBC オブジ ェ ク ト の障害発生時の動作については、5-27 ページの 「フ ェ イルオーバ と JDBC 接続」 を参照し て く だ さ い。 マルチプールの ク ラ ス タ化に よ っ て接続の ロー ド バ ラ ンシ ングが実現 さ れる 仕組みについては、4-14 ページの 「JDBC 接続の ロー ド バ ラ ンシ ング」 を参 照し て く だ さ い。 ク ラ ス タ化さ れた JDBC オブジ ェ ク ト のコ ン フ ィ グ レーシ ョ ン手順について は、7-26 ページの 「ク ラ ス タ化 さ れた JDBC を コ ン フ ィ グ レーシ ョ ンする」 を参照し て く だ さ い。JMS
WebLogic JMS (Java Messaging Service) のアーキテ ク チャ では、 ク ラ ス タ内のあ
ら ゆ る WebLogic Server サーバ イ ン ス タ ン スか ら送 り 先への透過的なア ク セ ス を ク ラ ス タ全体でサポー ト する こ と に よ っ て、 複数の JSP サーバの ク ラ ス タ化を実 装し ています。 WebLogic Server では、 JMS の送 り 先および接続フ ァ ク ト リ を ク ラ ス タ全体に分散 さ せる こ と ができ ますが、 同じ JMS ト ピ ッ ク ま たは JMS キ ューは引き続き、 ク ラ ス タ内の個々の WebLogic Server イ ン ス タ ン スに よ って 個別に管理さ れます。 ロー ド バ ラ ンシン グは JMS に対し てサポー ト さ れています。 ロー ド バ ラ ンシン グ を有効にするには、 JMS サーバの対象を コ ン フ ィ グ レーシ ョ ンする必要があ ります。 ロー ド バ ラ ンシ ング と JSM コ ンポーネン ト の詳細については、4-13 ページの 「JMS の ロー ド バ ラ ンシ ング」 を参照し て く だ さ い。 ク ラ ス タ化さ れ た JMS の設定手順については、 7-25 ページの 「固定サービ スの移行可能対象を コ ン フ ィ グ レーシ ョ ンする」 および7-33 ページの 「移行可能サービ ス をデプ ロ イ、 活性化、 および移行する 」 を参照し て く だ さ い。
ク ラ ス タ 化で き ないオ ブ ジ ェ ク ト の種類 自動フ ェ イルオーバは、 こ の リ リ ースの WebLogic JMS ではサポー ト さ れていま せん。
ク ラ ス タ化できない オブジ ェ ク ト の種類
以下の API および内部サービ スは、 WebLogic Server で ク ラ ス タ化で き ません。
File サービ ス
Time サービ ス
WebLogic Event (WebLogic Server 6.0 よ り 非推奨 )
ワー ク スペース (WebLogic Server 6.0 よ り 非推奨 ) こ れ ら のサービ スは、 ク ラ ス タ内の個々の WebLogic Server イ ン ス タ ン スでは使 用でき ます。 ただ し、 こ れら のサービ スに関し て ロー ド バ ラ ンシ ングやフ ェ イ ルオーバ機能は利用で き ません。
WebLogic Server
7.0
の新し いク ラ ス タ化
機能
以降の節では、 ク ラ ス タ化に関連する WebLogic Server 7.0 の新機能について説 明し ます。1
台のマシン上で
1
つの
IP
ア ド レスを使用し てク
ラス タ を作成可能
WebLogic Server 7.0 では、 サーバ イ ン ス タ ン ス が リ ス ン ア ド レ ス を共有する も のの異な る リ ス ン ポー ト を使用する ク ラ ス タ を設定し、 ク ラ ス タ内の複数の サーバ イ ン ス タ ン スが単一の非マルチホーム マシンに存在する よ う にする こ とがで き ます。1 台のマシン上で 1 つの IP ア ド レ スだけで ク ラ ス タ を設定で き る こ と に よ り 、 設定 と サポー ト が容易にな る ため、 こ の機能はデモン ス ト レーシ ョ ン、 開発、 およびテ ス ト 用の環境で役立ち ます。 旧 リ リ ースの ク ラ ス タでは、 各サーバ イ ン ス タ ン スが異な る リ ス ン ア ド レ ス、 同じ リ ス ン ポー ト 番号を持っていなければな りませんで し た。 1 台の コ ン ピ ュー タ上に ク ラ ス タ を作成するには、 1 台のコ ン ピ ュータ上で複数の IP ア ド レ ス を 使用する マルチホーム環境を設定する必要があ りま し た。 ま た必要であれば、 以前の リ リ ース と 同様に、 1 台のマシ ン上で複数の IP ア ド レ ス と 1 つの リ ス ン ポー ト 番号を使用し て ク ラ ス タ を設定する こ と も でき ます。 ク ラ ス タ内の複数のサーバ イ ン ス タ ン スで 1 つの IP ア ド レ ス を共有する場合、 ク ラ ス タ内の各サーバ イ ン ス タ ン スにユニーク な リ ス ン ポー ト 番号を割 り当て ます。 ク ラ ス タ内の各サーバ イ ン ス タ ン スの IP ア ド レ スが異な る場合、 各イ ン ス タ ン スが使用する リ ス ン ポー ト 番号は同じ であ っ て も それぞれ異な っていて も かまいません。 必要なのは、 サーバ イ ン ス タ ン ス ご と にユニー ク な IP ア ド レ ス と リ ス ン ポー ト の組み合わせです。
コ ン フ ィ グレーシ ョ ン
ウ ィ ザ ー ド による新し いク
ラ ス タの作成
WebLogic Server 7.0 には、 ド メ イ ンおよびク ラ ス タ を容易に作成する ための新し いユーテ ィ リ テ ィ であ る ド メ イ ン コ ン フ ィ グ レーシ ョ ン ウ ィ ザー ド が付属し ま す。 ウ ィ ザー ド の機能の詳細 と その使用方法については、 『WebLogic Server ド メ イ ン管理』 の 「コ ン フ ィ グ レーシ ョ ン ウ ィ ザー ド を使用し た新し い ド メ イ ンの 作成」 を参照し て く だ さ い。JMS
の可用性の向上
バージ ョ ン 7.0 よ り 前の WebLogic Server の ク ラ ス タ には、 JMS な どの ク ラ ス タ 化 さ れないサービ スで、 ク ラ ス タが提供する冗長性を利用する ための メ カニズム があ りませんで し た。 WebLogic Server 7.0 では、 管理者が、 ク ラ ス タ化 さ れない サービ ス を、 あ る サーバ イ ン ス タ ン スか ら ク ラ ス タ内の別の イ ン ス タ ン スに移WebLogic Server 7.0 の新 し い ク ラ ス タ 化機能 るいは定期的な保守の一環 と し て行います。 こ の機能に よ り 、 ホ ス ト のサーバ イ ン ス タ ン スで障害が発生し た場合に冗長サーバ イ ン ス タ ン ス上でサービ ス を 速やかに再開で き る ため、 ク ラ ス タ内の ク ラ ス タ化さ れないサービ スの可用性が 向上し ます。 WebLogic JMS 7.0 では、 管理者は複数の送 り 先を ク ラ ス タ内部で単一の分散送 り 先セ ッ ト の一部 と し て コ ンフ ィ グ レーシ ョ ンで き ます。 プ ロデ ューサおよびコ ンシ ューマは、 分散送 り 先 と の送受信がで き ます。 ク ラ ス タ の内部で単一のサー バ イ ン ス タ ン スに障害が発生し た場合、 WebLogic JMS は、 分散送 り 先セ ッ ト に 登録 さ れ、 その時点で使用可能なすべての物理送 り 先に負荷を分散し ます。 バージ ョ ン 7.0 では、 ク ラ ス タ化環境向けに WebLogic Server コ アで実装さ れた 移行フ レーム ワーク も利用 さ れます。 こ れに よ り、 WebLogic JMS は、 移行要求 に適切に対応する こ と がで き、 JMS サーバを通常の方法でオン ラ イ ンやオフ ラ イ ンにする こ と ができ ます。 こ れには、 あ ら かじ め予定さ れた移行 と 、 WebLogic Server イ ン ス タ ン スの障害に対応し て行われる移行の両方が含まれま す。
2
ク ラス タ での通信
WebLogic Server ク ラ ス タは、 ロー ド バ ラ ンシ ング と フ ェ イ ルオーバの 2 つの重 要な機能を実装し ています。 以下の節では、 アーキテ ク ト と 管理者が、 特定の Web アプ リ ケーシ ョ ンに適し た ク ラ ス タ を コ ン フ ィ グ レーシ ョ ンする ために役 立つ情報を示し ます。 2-1 ページの 「ク ラ ス タ での WebLogic Server の通信」 2-10 ページの 「ク ラ ス タ ワ イ ド の JNDI ネー ミ ング サービ ス」ク ラ ス タ での
WebLogic Server
の通信
ク ラ ス タ内の WebLogic Server イ ン ス タ ン スは、 2 つの基本的なネ ッ ト ワー ク 技 術を利用し て互いに通信し ます。 IP マルチキ ャ ス ト 。 サーバ イ ン ス タ ン スが、 サービ ス の可用性 と 、 継続 的な可用性を示すハー ト ビー ト をブロー ド キ ャ ス ト する ために使用し ま す。 IP ソ ケ ッ ト 。 ク ラ ス タ化さ れたサーバ イ ン ス タ ン ス間でピ ア ツー ピ ア通 信を行 う ための導管 と し て機能し ます。 WebLogic Server での IP マルチキ ャ ス ト およびソ ケ ッ ト 通信の使用形態は、 ク ラ ス タ を どの よ う に コ ン フ ィ グ レーシ ョ ンする かに影響し ます。IP
マルチキャ ス ト を使用し た
1
対多通信
IP マルチキ ャ ス ト は、 複数のアプ リ ケーシ ョ ンが指定さ れた IP ア ド レ ス と ポー ト 番号に 「サブス ク ラ イ ブ」 し て、 メ ッ セージ を リ ス ンでき る よ う にする単純な ブ ロー ド キ ャ ス ト 技術です。 マルチキ ャ ス ト ア ド レ スは、 範囲が 224.0.0.0 ~IP マルチキ ャ ス ト はアプ リ ケーシ ョ ンに対し て メ ッ セージをブ ロー ド キ ャ ス ト し ますが、 メ ッ セージが実際に届 く こ と は保証さ れていません。 アプ リ ケーシ ョ ンの ローカル マルチキ ャ ス ト バ ッ フ ァ がいっぱいの場合、 新規のマルチキ ャ ス ト メ ッ セージをそのバ ッ フ ァ に書き込めないので、 アプ リ ケーシ ョ ンには メ ッ セージが 「届いた」 こ と がわか りません。 こ の制約のため、 WebLogic Server イ ン ス タ ン スでは、 IP マルチキ ャ ス ト に対し てブ ロー ド キ ャ ス ト さ れた メ ッ セー ジが届かない可能性を考慮し てい ます。 WebLogic Server は、ク ラ ス タ内のサーバ イ ン ス タ ン ス間の 1 対多通信で IP マル チキ ャ ス ト を使用し ます。 次の通信が対象です。
ク ラ ス タ ワ イ ド の JNDI の更新 - ク ラ ス タ内の個々の WebLogic Server イ ン ス タ ン スはマルチキ ャ ス ト を使用し て、 ローカルでデプ ロ イ さ れた り 、 削除 さ れた りし た ク ラ ス タ化 さ れたオブジ ェ ク ト が使用可能かど う かを通知し ま す。 ク ラ ス タ内の各サーバ イ ン ス タ ン スは こ れ ら の通知をモニ タ し、 ク ラ ス タ化さ れ るオブジ ェ ク ト の最新のデプロ イ メ ン ト 状況に合わせて イ ン ス タ ン スの ローカル JNDI ツ リ ーを更新し ます。 詳細については、2-10 ページの 「ク ラ ス タ ワ イ ド の JNDI ネー ミ ング サービ ス」 を参照し て く だ さ い。 ク ラ ス タ の 「ハー ト ビー ト 」 - WebLogic Server は、 マルチキ ャ ス ト を使用し て、 ク ラ ス タ内の個々のサーバ イ ン ス タ ン スが使用可能であ る こ と を通知す る ために、 定期的に 「ハー ト ビー ト 」 メ ッ セージをブ ロー ド キ ャ ス ト し ま す。 ハー ト ビー ト メ ッ セージをモニ タする こ と に よ り、 ク ラ ス タ内のサーバ イ ン ス タ ン スは、 どの時点でサーバ イ ン ス タ ン スに障害が発生し たかを特定 し ます ( ク ラ ス タ化さ れたサーバ イ ン ス タ ン スは、 サーバ イ ン ス タ ン スで 障害が発生し た時点を特定する ためのよ り 直接的な手段 と し て、 IP ソ ケ ッ ト のモニ タ も行います )。
マルチキャ ス ト と ク ラス タのコ ン フ ィ グレーシ ョ ン
マルチキ ャ ス ト 通信は、 (2-10 ページの 「ク ラ ス タ ワ イ ド の JNDI ネー ミ ング サービ ス」 で説明する よ う に ) 障害の検出 と ク ラ ス タ ワ イ ド の JNDI ツ リ ーの保 守に関わ る重要な機能を制御するので、 ク ラ ス タの コ ン フ ィ グ レーシ ョ ン も マル チキ ャ ス ト 通信 と のネ ッ ト ワー ク ト ポ ロ ジ イ ン タ フ ェース も重要ではあ り ませ ん。 以降の節では、 ク ラ ス タ内でのマルチキ ャ ス ト 通信に伴 う 問題を回避する た めのガ イ ド ラ イ ン を示し ます。ク ラ ス タ での WebLogic Server の通信
ク ラ ス タが
WAN
内の複数のサブネ ッ ト にまたがる場合
多 く のデプ ロ イ メ ン ト 構成で、 ク ラ ス タ化 さ れる サーバ イ ン ス タ ン ス群は単一 のサブネ ッ ト の内部に置かれます。 こ れは、 マルチキ ャ ス ト メ ッ セージの確実な 転送を保証する ための構成です。 ただ し必要に応じ て、 ワ イ ド エ リ ア ネ ッ ト ワー ク (WAN) 内の複数のサブネ ッ ト 間に WebLogic Server ク ラ ス タ を分散 さ せ て冗長性を確保し た り、 あ るいは ク ラ ス タ化さ れ るサーバ イ ン ス タ ン ス を よ り 広範な地理的領域に分散さ せる こ と ができ ます。 ク ラ ス タ を WAN ( ま たは複数のサブネ ッ ト ) 上に分散する場合、 マルチキ ャ ス ト メ ッ セージが ク ラ ス タ内のすべてのサーバ イ ン ス タ ン スに必ず転送 さ れる よ う にネ ッ ト ワー ク ト ポ ロ ジを計画およびコ ン フ ィ グ レーシ ョ ン し ます。 特に、 ネ ッ ト ワー ク が以下の要件を満たす必要があ ります。 IP マルチキ ャ ス ト パケ ッ ト の伝播の完全サポー ト 。 つま り、 すべてのルー タおよびその他の ト ンネ リ ング技術がマルチキ ャ ス ト メ ッ セージ を ク ラ ス タ 化さ れてい るサーバ イ ン ス タ ン スに伝播する よ う に コ ン フ ィ グ レーシ ョ ン さ れてい る必要があ ります。 ネ ッ ト ワー ク レ イ テンシが十分に低 く 、 大半のマルチキ ャ ス ト メ ッ セージ がその最終的な宛先に 200 ~ 300 ミ リ 秒以内に確実に到達する こ と 。 ク ラ ス タのマルチキ ャ ス ト TTL (Time-To-Live: 生存時間 ) の値は、 マルチ キ ャ ス ト パケ ッ ト が最終的な宛先に届 く までにルータがパケ ッ ト を破棄し な い よ う な大き さ の値でなければな りません。 マルチキ ャ ス ト TTL パ ラ メ ー タの設定手順については、 7-39 ページの 「マルチキ ャ ス ト 存続時間 (TTL) を コ ン フ ィ グ レーシ ョ ンする」 を参照し て く だ さ い。
注意: WAN 上に WebLogic Server ク ラ ス タ を分散する には、 上記のマルチキ ャ
ス ト 要件を満たす以外に も、 ネ ッ ト ワーク 機能を追加し なければな ら な い場合があ ります。 た と えば、 不要なネ ッ ト ワー ク ホ ッ プを経由せずに ク ラ イ アン ト リ ク エス ト を最短経路でサーバ イ ン ス タ ン スに送る には、 ロー ド バ ラ ンシング ハー ド ウ ェ アを コ ン フ ィ グ レーシ ョ ンする必要があ ります。
フ ァ イ アウ ォールがマルチキャ ス ト 通信を遮断する こ とがある
マルチキ ャ ス ト ト ラ フ ィ ッ ク を フ ァ イ ア ウ ォール内に ト ンネ リ ングする こ と は 可能ですが、 WebLogic Server ク ラ ス タ ではお勧め し ません。 個々の WebLogic数の別個のサービ ス を提供する論理単位 と し て扱 う よ う に し ます。 複数の異な っ たセキ ュ リ テ ィ ゾーン間に こ の論理単位を分割し ないで く だ さ い。 さ ら に、 IP ト ラ フ ィ ッ ク の速度低下や中断につなが る可能性のあ る技術は、 ハー ト ビー ト の 不達が誤っ て障害 と し て判断 さ れる こ と に よ っ て、 WebLogic Server ク ラ ス タ を 分断さ せる こ と があ ります。
ク ラ ス タのマルチキャス ト
ア ド レスを他のアプ リ ケーシ ョ ン と共有し ない
複数の WebLogic Server ク ラ ス タは単一の IP マルチキ ャ ス ト ア ド レ スおよび ポー ト を共有でき ますが、 ク ラ ス タ によ って使用さ れてい るマルチキ ャ ス ト ア ド レ スおよびポー ト は、 他のアプ リ ケーシ ョ ンでブ ロー ド キ ャ ス ト ま たはサブス ク ラ イ ブ し ないで く だ さ い。 つま り 、 ク ラ ス タ のホ ス ト と なっ てい る 1 台ま たは 複数台のマシ ンが、 マルチキ ャ ス ト 通信を使用する他のアプ リ ケーシ ョ ンのホ ス ト も兼ねてい る場合、 それ ら のアプ リ ケーシ ョ ンでは必ず、 ク ラ ス タが使用し て い る も の と 異な る マルチキ ャ ス ト ア ド レ スおよびポー ト を使用し て く だ さ い。 ク ラ ス タ のマルチキ ャ ス ト ア ド レ ス を他のアプ リ ケーシ ョ ン と 共有する と 、 ク ラ ス タ化さ れたサーバ イ ン ス タ ン スは不必要な メ ッ セージ を処理し なければな ら な く な り 、 オーバーヘ ッ ド が増し ます。 ま た、 マルチキ ャ ス ト ア ド レ スの共 有は、 IP マルチキ ャ ス ト バ ッ フ ァ の過負荷 と 、 WebLogic Server ハー ト ビー ト メ ッ セージの送信遅延につなが る可能性があ ります。 ハー ト ビー ト が適切な タ イ ミ ングで受信 さ れないため、 こ う し た遅延に よ っ て、 WebLogic Server イ ン ス タ ン スがエ ラー と し てマー ク さ れ る可能性があ ります。 こ う し た理由か ら、 WebLogic Server ク ラ ス タ用には専用のマルチキ ャ ス ト ア ド レ ス を割 り 当てて、 そのア ド レ ス を使用するすべての ク ラ ス タ の ト ラ フ ィ ッ ク を そのア ド レ スでブ ロー ド キ ャ ス ト で き る よ う に し ます。マルチキャス ト
ス ト ームが起こ っ た ら
ク ラ ス タ内のサーバ イ ン ス タ ン ス で受信 メ ッ セージが適時に処理さ れない場合 は、 NAK メ ッ セージやハー ト ビー ト の再送信を含むネ ッ ト ワー ク ト ラ フ ィ ッ ク が増大し ます。 ネ ッ ト ワーク 上でマルチキ ャ ス ト パケ ッ ト が繰 り 返し送信 さ れ る こ と をマルチキ ャ ス ス ト ーム と 呼び、 それが発生する と ネ ッ ト ワー ク と その ネ ッ ト ワーク に接続さ れた ス テーシ ョ ンが圧迫を受け、 エン ド ス テーシ ョ ンでハ ング ま たは障害が発生する可能性があ ります。 マルチキ ャ ス ト バ ッ フ ァ のサ イ ズ を増やす と 、 通知が送信および受信さ れる レー ト が改善さ れて、 マルチキ ャ ス ト ス ト ームを防止でき ます。7-40 ページの 「マルチキ ャ ス ト バ ッ フ ァ のサ イ ズ を コ ン フ ィ グ レーシ ョ ンする」 を参照し て く だ さ い。ク ラ ス タ での WebLogic Server の通信