WebSphere Load Balancer for IPv4 and IPv6
             オペレーティング・システム: AIX、HP-UX、Linux、Solaris、Windows

             目次と検索結果の個別設定

カスタム advisor の作成

カスタム advisor は、サーバー上の負荷を決める Load Balancer 基本コードによって呼び出される小規模な Java コードであり、クラス・ファイルとして提供されます。基本コードは、カスタム advisor のインスタンスの開始と停止、状況と報告書の提供、ヒストリー情報のログ・ファイルへの記録、および advisor の結果の manager コンポーネントへの報告などのあらゆる必要な管理サービスを提供します。

このタスクについて

カスタム advisor は、ネイティブ、すなわち標準 advisor が検索された後に呼び出されます。Load Balancer が 標準 advisor のリストの中で指定の advisor を見つけられなかった場合は、 カスタム advisor のリストを参照します。Load Balancer 基本コードが カスタム advisor を呼び出すと、以下のステップが発生します。
  1. Load Balancer 基本コードは、サーバー・マシンとの接続をオープンします。
  2. ソケットがオープンすると、基本コードは、指定された advisor の GetLoad 関数を呼び出します。
  3. advisor の GetLoad 関数は、サーバーからの応答の待機などサーバーの状況を評価するためにユーザーが定義したステップを実行します。応答が受信されると、関数は実行を終了します。
  4. Load Balancer 基本コードは、サーバーとのソケットをクローズして、manager に負荷情報を報告します。カスタム advisor が通常モードで動作したか置換モードで動作したかに 応じて、GetLoad 関数が終了した後で、基本コードが追加計算を行う場合もあります。
カスタム advisor は、通常モードまたは置換モードで Load Balancer と対話するように設計することができます。動作モードの選択は、カスタム advisor ファイルでコンストラクター・メソッドのパラメーターとして指定します。(各 advisor は、その設計に基づいてこれらのモードのいずれかでのみ動作します)
  • 通常モード: カスタム advisor がサーバーとデータを交換し、基本 advisor コードが交換の時間を測定して負荷値を計算します。 基本コードは、この負荷値を manager に 報告します。カスタム advisor は正常に処理が行われた場合は値ゼロを返し、エラーの場合は負の値を返します。

    通常モードを指定するには、コンストラクターの代替フラグを false に設定します。

  • 置換モード: 基本コードはいかなる時間測定も行いません。 カスタム advisor コードは、固有の要件に基づいて指定された操作をすべて実行して、実際の負荷値を返します。基本コードは負荷値を受け入れ、そのまま manager に報告します。最善の結果を得るために、負荷値を正規化して、10 から 1000 までの間の値にしてください。10 は高速な サーバーを表し、1000 は低速なサーバーを表します。

    置換モードを指定するには、 コンストラクターの代替フラグを true に設定します。

すべての advisor と同様に、カスタム advisor は、ADV_Base という advisor 基本クラスの機能を拡張します。advisor ベースは、advisor の機能のほとんどを実行します。 例えば、manager の重みのアルゴリズムで使用するために、manager に負荷を報告することなどが挙げられます。 また、advisor ベースは、ソケット接続とクローズ操作も実行し、advisor が使用するための send および receive メソッドを提供します。advisor は、調査されているサーバーの指定ポートでのデータの送受信にのみ 使用されます。advisor ベース内部の TCP メソッドに費やした時間が測定され、負荷が計算されます。 必要な場合は、advisor ベースのコンストラクター内のフラグによって、advisor から戻された新しい負荷で既存の負荷が上書きされます。
注: コンストラクターで設定された値に基づいて、advisor ベースは、指定された 時間間隔で重みのアルゴリズムに負荷を提供します。advisor が処理を完了していないために 有効な負荷を返すことができない場合、advisor ベースは直前に報告された負荷を使用します。

プロシージャー

  1. advisor に名前をつけます。カスタム advisor のファイル名は、ADV_name.java という形式にする必要があります (ここで name は advisor 用に選択した名前になります)。
    問題の回避:
    • advisor 名には ADV_ 接頭部を使用する必要があります。
    • 英小文字を使用してカスタム advisor に名前を付ける必要があります。 これにより、オペレーターがコマンド行でコマンドを入力するときに、大/小文字の区別をする必要がなくなります。
    • カスタム advisor クラスは、install_root/lib/CustomAdvisors サブディレクトリー内になければなりません。
    • Java の規則に従い、ファイル内で定義されたクラスの名前は、ファイルの名前と一致していなければなりません。
    gotcha
  2. カスタム advisor を作成します。advisor で使用するメソッドおよびファンクション・コールのリストに関しては、カスタム advisor メソッドおよびファンクション・コールをお読みください。カスタム advisor には、すべての必須ルーチンが必要なことに注意してください。advisor には、以下の基本クラスのメソッドが必要です。
    • コンストラクター・ルーチン。コンストラクターは基本クラス・コンストラクターを呼び出します。
    • ADV_AdvisorInitialize メソッド。このメソッドは、基本クラスが初期化を完了した後に追加のステップを実行する方法を提供します。
    • getLoad ルーチン。基本 advisor クラスはソケットのオープンを実行します。getload 関数は、アドバイス・サイクルを完了するための適切な送信要求と受信要求を出すためにのみ必要です。

  3. advisor をコンパイルします。
    • Java 言語でカスタム advisor を作成し、Load Balancer コードと同じレベルの Java コンパイラーを使ってコンパイルしてください。システム上の Java のバージョンを確認するには、install_root/java/bin ディレクトリーから以下のコマンドを実行します。
      java -fullversion
      
      現行ディレクトリーがパスの一部でない場合に、現在のバージョン情報を正しく 取得するには、Java を現行ディレクトリーから実行するように指定する必要があります。 この場合、install_root/java/bin ディレクトリー から以下のコマンドを実行します。
      ./java -fullversion
    • コンパイル時には、以下のファイルが参照されます。
      • カスタム advisor ファイル。
      • install_root/servers/lib ディレクトリーにある 基本クラス・ファイル (ibmnd.jar)。
    • クラスパス環境変数は、コンパイル時にカスタム advisor ファイルと基本クラス・ファイルの両方を指していなければなりません。advisor が現行ディレクトリーにある場合、コンパイル・コマンドは以下のようなフォーマットになります。
      install_path/java/bin/javac -classpath install_root/servers/lib/ibmlb.jar ADV_name.java
    • コンパイルの出力は、例えば ADV_name.class のようなクラス・ファイルです。 advisor を開始する前に、クラス・ファイルを install_root/servers/lib/CustomAdvisors/ ディレクトリーにコピーしてください。
    注: あるオペレーティング・システムで カスタム advisor をコンパイルし、別のオペレーティング・システムで実行することができます。 例えば、Windows システムで advisor をコンパイルし、結果として生成された バイナリー・フォーマットのクラス・ファイルを Linux マシンにコピーして、そこで カスタム advisor を実行することができます。AIX、HP-UX、Linux、および Solaris オペレーティング・システムでの構文は似ています。
  4. カスタム advisor を実行します。 カスタム advisor は、ネイティブ、すなわち標準 advisor が検索された後に呼び出されます。Load Balancer が 標準 advisor のリストの中で指定の advisor を見つけられなかった場合は、 カスタム advisor のリストを参照します。
    1. まだ、Load Balancer マシンの CustomAdvisors サブディレクトリーに advisor のクラス・ファイルをコピーしていない場合は、ここでコピーします。例えば、myping という名前のカスタム advisor の場合は、ファイル・パスは install_root/servers/lib/CustomAdvisors/ADV_myping.class となります。
    2. Load Balancer を構成し、その manager 機能を開始して、カスタム advisor を開始するためのコマンドを発行します。カスタム advisor は、 以下のように名前とファイル拡張子 (ADV_ 接頭部は除外) で指定します。
      dscontrol advisor start name.ext port
      コマンドで指定するポート番号は、advisor がターゲット・サーバーとの接続をオープンするポートです。



サブトピック
カスタム advisor メソッドおよびファンクション・コール
advisor 要求または応答オプションによるサービス固有のアドバイスの取得
2 層 WAN 構成内の self advisor
関連参照
タスク・トピック    

ご利用条件 | フィードバック

最終更新: 2008 年 7 月 31 日 3:18:06 PM EDT
http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/index.jsp?topic=/com.ibm.websphere.edge.doc/lb/info/ae/tprf_advcust.html