ページの先頭です。
サイト内の現在位置を表示しています。
  1. ホーム
  2. ソフトウェア
  3. WebOTX
  4. アプリケーションサーバ
  5. 特長/機能
  6. 機能一覧
  7. 負荷分散機能
ここから本文です。

WebOTX Application Server - 負荷分散機能

「機能一覧」へ戻る

AS Enterprise Editionが備える機能WebOTX Clusterが備える機能
WebOTXでは、スケーラビリティを向上するためにアプリケーションサーバ、Webサーバを複数台並列に配置した負荷分散運用を行うことができます。負荷分散運用を行うことにより、大量のトラフィックに耐え得る安定したシステム運用が可能になります。また 負荷分散運用を行うことによりサーバ障害時にも縮退運転を行いシステムに対する影響を最小限にすることができます。

グリッド技術を活用した負荷変動対応機能 (V7.1で対応)

WebOTX V7.1より、WebOTX Application Server Enterprise EditionとWebOTX Cluster製品に「Working Domain Coordinator」と呼ぶ機能を追加しました。

この機能は、アプリケーション・サーバの動作状態を監視する位置で機能し、監視対象サーバ内の業務アプリケーション毎に負荷状態を情報収集します。

過負荷を検知すると、負荷が少ないサーバに対して業務アプリケーションを増設させると共に、負荷分散装置に実際に接続して、負荷分散装置内の振り分けポリシーへ増設するサーバの情報を追加設定するなど、自律制御機能を提供します。

グリッド技術を活用した負荷変動対応機能(Working Domain Coordinator)Working Domain Coordinator を活用した負荷変動対応機能

BIG-IP 連携機能

Working Domain Coordinatorから、F5のBIG-IP Local Traffic Managerに対して、動的に負荷分散の設定変更を要求する機能をiControl APIを通じて提供しています。これにより、システムの動作状況を反映させたきめ細かな負荷制御を、負荷分散装置と連動して行うことが可能になります。

詳細については「NECとF5ネットワークスがNGN時代のサービス基盤分野で協業を開始」のページをご参照ください。

Webサーバの負荷分散

上述のBIG-IPのような負荷分散装置を利用して、Webサーバの負荷分散を行うことが可能です。

現在では、負荷分散装置も多種多様なものが出回っており、これらを利用することで複数台のWebサーバを負荷状況によって切り分けることができます。セッションを維持して同じクライアントからのリクエストは、常に同じWebサーバで処理することも可能です。また、障害が発生した場合も、動作可能な Webサーバを自動的に選択します。負荷分散の方法は、単純なラウンドロビン方式や、重み付けを付加したものなど、装置によりさまざまな方法が提供されています。

アプリケーションサーバの負荷分散

アプリケーションサーバの負荷分散については、WebOTX Cluster(クラスタ環境)で行います。次の負荷分散方式を提供しています。

ラウンドロビン負荷分散

名前サーバにおいて各サーバのオブジェクトを管理し、クライアントからオブジェクト取得要求があった時にラウンドロビンに各サーバのオブジェクトを払い出す方式です。これによりクライアントからのオペレーション要求は名前サーバから払い出されたオブジェクトを登録したマシン上で実行されます。

またあるマシンで障害が発生した場合に、そのマシンへのアクセスを制限するために、名前サーバの持つラウンドロビンリストから該当マシンのオブジェクトを削除する機構(WebOTX WatchServerと呼びます)を提供しています。これにより予期せぬ障害が発生したときでも安全にシステムを縮退することができます。

要するに障害が発生しない限りは、あるクライアントがアクセスするサーバアプリケーションは1つに決定されるということです。

ラウンドロビン負荷分散方式ラウンドロビン負荷分散方式

オペレーション呼び出し毎の負荷分散

WebOTX V4.2以前はWebOTX Standard/Enterpriseをマルチサーバ構成で負荷分散を行う場合、名前サーバによるラウンドロビン負荷分散で実装を行っていました。名前サーバによるラウンドロビン負荷分散には次に示す問題点がありました。

  • 名前サーバにオブジェクト取得要求を行った契機で接続先サーバが決定されるためオペレーション呼び出し単位で負荷分散が行われず、オペレーション要求が各サーバへ均等に分散されない場合がある。
  • 接続先のサーバが異常終了した場合、そのオブジェクトは使うことができなくなる。よって処理を再開するためには名前サービスより再度オブジェクト取得を行う必要がある。

WebOTX V5より、オブジェクトリファレンスに複数のサーバ情報を埋め込む機能を追加しました。クライアント側では、このリファレンスを利用してオペレーション呼び出しを実施する際に、埋め込まれているサーバのリスト中から処理を依頼するサーバを選び出します。これによりオペレーション単位で接続先サーバの振り分けが実施されます。仮にリスト中のあるサーバが異常終了した場合でも、オブジェクトリファレンスの再取得を行うことなく、オペレーション要求を行うことができます。このとき異常終了したサーバを除いた振り分けが行われます。

重み付けラウンドロビン負荷分散

ラウンドロビン負荷分散において、各マシン単位で重みを設定することができます。名前サーバはこの重みの割合に応じてラウンドロビンにオブジェクトの払い出しを行います。これにより、負荷分散を行っている各マシン毎で処理能力に差がある場合、処理能力の高いマシンに重点的に分散させることが可能です。

重み付けラウンドロビン負荷分散方式重み付けラウンドロビン負荷分散方式

動的負荷分散

ラウンドロビン負荷分散(重み付けも含む)では、クライアントが接続するサーバについてはオブジェクト取得時に決定されます。クライアントで取得したオブジェクトを使い続ける限り同一のサーバへのアクセスとなります。アプリケーションの動作によっては一時的に負荷が一方のマシンに集中してしまうことも起こり得ます。

このような問題に対応するため、WebOTXではオペレーション単位の動的負荷分散をサポートしています。これによりクライアント側でオペレーションを呼び出す毎にラウンドロビンに各サーバに振り分けを行ます。

仮にその接続先での呼び出しに失敗した場合、その接続先をラウンドロビンリストから外し、他の接続先に切り替えを行うことにより、オペレーションの実行を保証します。ラウンドロビンリストから外れた接続先に関しては定期的に監視を行うことにより、復旧後速やかにラウンドロビンリストに追加されます。

動的負荷分散方式動的負荷分散方式


ページの先頭へ戻る