ここでは,実行環境のシステム構成として,次の2種類のシステム構成について説明します。
スケールアウトとは,システム全体の処理性能を向上させることを目的として,サーバの台数を増やすことです。一方,サーバの台数を減らすことでシステム規模を縮小することをスケールインといいます。
スケールアウトシステムはシステム規模の拡大や縮小に柔軟に対応できる,スケーラビリティの高いシステムのことです。業務システムの運用規模や要件の変化に応じてスケールアウトまたはスケールインを実施できます。
スケールアウトシステムの構成例を次に示します。
図4-8 スケールアウトシステムの構成例
この図の構成の場合,3台のアプリケーションサーバは同じ業務を実行するサーバです。リクエスト数の増加などによって処理性能を上げる場合は,さらにアプリケーションサーバマシンの台数を増やすことで対応できます。
フロントエンド/バックエンドシステムは,システムのスケーラビリティを確保しながら可用性を高めたシステムです。フロントエンドとバックエンドから構成されます。フロントエンドでは,Webブラウザなどからのリクエストを受け付けて適切な業務処理プログラムに処理を振り分ける処理を実行します。バックエンドでは,フロントエンドから振り分けられた業務処理を実行し,必要に応じてEISにアクセスします。
アプリケーションサーバの場合,フロントエンドでサーブレットやJSPを実行して,バックエンドでEnterprise Beanを実行する構成などが該当します。フロントエンド/バックエンドシステムの構成例を次に示します。
図4-9 フロントエンド/バックエンドシステムの構成例
この図の構成の場合,フロントエンドの2台のアプリケーションサーバでは同じ処理を実行します。また,バックエンドの2台のアプリケーションサーバでも同じ処理を実行します。クライアントからのリクエストは,まず,負荷分散機によってフロントエンドのアプリケーションサーバに振り分けられます。また,Enterprise Beanのスケジューリング機能を持つCTMを使用することによって,バックエンドでの負荷分散も実現できます。
フロントエンド,バックエンドはそれぞれスケールアウト構成になっているため,リクエスト数の増加などによって処理性能を上げる場合は,各層のアプリケーションサーバの台数を増やすことで対応できます。また,障害発生時の縮退運用や再起動時の影響の局所化などが図れるため,システム全体の可用性を向上させることができます。