■ マルチサーバ環境における設計上の考慮点
IJServer作成時に指定するIJServerのタイプ、配置先、リレーションは作成後に変更することはできません。運用する業務に合わせてIJServer作成前に設計しておく必要があります。
IJServerの構成要素
IJServerの構成要素には、Webサーバコネクタ、Servletコンテナ、EJBコンテナがあります。WebサーバコネクタはWebサーバ上で作動します。Servletコンテナ、EJBコンテナはIJServerワークユニット上で動作します。
構成要素 | 説明 |
---|---|
Webサーバコネクタ | Webサーバで動作するWebブラウザからの要求をServletコンテナへ送信するゲートウェイ |
Servletコンテナ | IJServerワークユニットで動作するWebアプリケーションの実行環境 |
EJBコンテナ | IJServerワークユニットで動作するEJBアプリケーションの実行環境 |
IJServerのタイプと配置先
IJServerの構成要素であるWebサーバコネクタ、Servletコンテナ、EJBコンテナは、IJServerの作成時にこれらの構成要素の配置先を指定します。各構成要素は作成するIJServerのタイプにより別サーバグループまたは単体運用の管理対象サーバに配置することができます。IJServerは配置先が別サーバグループまたは単体運用の管理対象サーバに分かれても1つのIJServerとして操作できます。
IJServerタイプと配置のパターンは以下のとおりです。
IJServerタイプ | 配置パターン | ||
---|---|---|---|
サーバグループ1 | サーバグループ2 | サーバグループ3 | |
WebアプリケーションとEJBアプリケーションを同一JavaVMで運用 | Webサーバコネクタ | - | - |
Webサーバコネクタ | Servletコンテナ | - | |
WebアプリケーションとEJBアプリケーションを別JavaVMで運用 | Webサーバコネクタ | - | - |
Webサーバコネクタ | Servletコンテナ | - | |
Webサーバコネクタ | EJBコンテナ | - | |
Webサーバコネクタ | Servletコンテナ | EJBコンテナ | |
Webアプリケーションのみ運用 | Webサーバコネクタ | - | - |
Webサーバコネクタ | Servletコンテナ | - | |
EJBアプリケーションのみ運用 | EJBコンテナ | - | - |
IJServerの配置先はすべて同じバージョンのサーバグループまたは単体運用の管理対象サーバを指定する必要があります。
IJServerのタイプは、用途に合わせて選択することができます。
WebアプリケーションとEJBアプリケーションを同一JavaVMで運用
WebアプリケーションとEJBアプリケーションを同一のJava VMで動作させます。Servlet/JSPからEJBを高速に呼び出すことができ、アプリケーションが動作するJava VMが同一になるためメモリ資源を節約できます。
Webアプリケーションだけの場合でも運用可能です。
ServletコンテナとEJBコンテナから構成される一つのIJServerワークユニットとWebサーバコネクタの配置先を別サーバグループまたは単体運用の管理対象サーバにすることができ、Webサーバとアプリケーションの負荷を分散することができます。
WebアプリケーションとEJBアプリケーションを別JavaVMで運用
WebアプリケーションとEJBアプリケーションが動作するサーバグループまたは単体運用の管理対象サーバを別々で運用します。Servletコンテナ、EJBコンテナのプロセス多重度を設定できたり、プロセスダウンのリスクが分散できたりするというメリットがあります。
Webサーバコネクタ、Servletコンテナ、EJBコンテナはすべて別サーバグループまたは単体運用の管理対象サーバに配置することができ、負荷分散することが可能です。
ServletコンテナとEJBコンテナを異なるサーバグループまたは単体運用の管理対象サーバに配置した場合、Interstage管理コンソールには以下のように表示されます。
管理サーバでの一括操作
WebアプリケーションとEJBアプリケーションを別Java VMで運用のIJServerとして表示されます。
Servletコンテナの配置先、EJBコンテナの配置先の管理対象サーバでの統合管理、またはスタンドアロンでの操作
それぞれWebアプリケーションのみ、EJBアプリケーションのみのIJServerとして表示されます。
Webアプリケーションのみ運用
Webアプリケーションだけで運用します。ServletコンテナとWebサーバコネクタの配置先を別サーバグループまたは単体運用の管理対象サーバにすることができ、Webサーバとアプリケーションの負荷を分散することができます。
EJBアプリケーションのみ運用
EJBアプリケーションだけで運用します。
IJServerのリレーション
IJServerを複数の異なるサーバグループまたは単体運用の管理対象サーバに配置する場合、サーバグループ間のリレーションを選択します。
WebサーバコネクタとServletコンテナの間の連携方式は以下の3種類があります。
ライン型
Webサーバコネクタの配置先サーバグループの管理対象サーバと、Servletコンテナの配置先サーバグループの管理対象サーバが1対1に対応します。連携する管理対象サーバが特定で独立しているため、異常が発生した場合に異常なサーバを容易に特定できます。またその場合、負荷分散対象から切り離せば、運用から切り離すことが容易です。
IJServer作成時にWebサーバコネクタ-Servletコンテナ間のリレーションでラインを選択して環境を作成します。
メッシュ型
Webサーバコネクタの配置先サーバグループの管理対象サーバと、Servletコンテナの配置先サーバグループの管理対象サーバが網羅的にn対mに対応します。WebサーバとServletコンテナの負荷が大きく異なるシステムに効率良く管理対象サーバを配分することができます。
IJServer作成時にWebサーバコネクタ-Servletコンテナ間のリレーションでメッシュを選択して環境を作成します。
IPCOMを使用する
IPCOMを使用して負荷分散を行う方式です。Webサーバコネクタの配置先サーバグループの管理対象サーバと、Servletコンテナの配置先サーバグループの管理対象サーバは網羅的にn対mに対応します。IPCOMを使用することでServletコンテナが稼動するマシンの稼動状態やCPU負荷状態を監視した負荷分散が行えるようになります。
IPCOMの以下の設定はIJServerの設定と合わせる必要があります。
仮想IPアドレス
IJServerではIJServer作成時にServletコンテナの配置先で指定する仮想IPアドレスに同じIPアドレスを指定します。
代表ポート
IJServerではIJServer作成時にServletコンテナの配置先で指定する代表ポートに同じポート番号を指定します。
分散先IPアドレス
ServletコンテナのサーバのIPアドレスです。
分散先ポート群
IJServerではIJServer作成時にServletコンテナ設定のポート番号と同じポート番号を指定します。
常設コネクション数
IJServerではIJServer作成時にServletコンテナ設定の同時処理数等を考慮して設定します。
詳細は、“IPCOMのマニュアル”を参照してください
Webサーバコネクタを運用するサーバグループからServletコンテナを運用するサーバグループに対し、IPCOMを使用した負荷分散を行う場合は、Webサーバコネクタの故障監視機能を使用することはできません。
ServletコンテナとEJBコンテナ間の連携方式は以下の2種類があります。
ServletコンテナとEJBコンテナの間の連携方式はInterstageの設計によって決まります。詳細は“3.3.2 Interstage”を参照してください。
ライン型
Servletコンテナの配置先サーバグループの管理対象サーバと、EJBコンテナの配置先サーバグループの管理対象サーバが1対1に対応します。連携する管理対象サーバが特定で独立しているため、異常が発生した場合に、異常なサーバを容易に特定できます。
IPCOMを使用する
IPCOMを使用して負荷分散を行う方式です。Servletコンテナの配置先サーバグループのサーバと、EJBコンテナの配置先サーバグループのサーバは網羅的にn対mに対応します。IPCOMを使用することでEJBコンテナが稼動するマシンのCPU負荷状態やIJServerの稼動状況を監視した負荷分散が行えるようになります。
IJServer作成時にServlet-EJBコンテナ間のリレーションで「IPCOMを使用する」を選択して環境を作成します。また、仮想ホスト名、代表ポートは、IPCOMの設定と合わせる必要があります。
仮想ホスト名
IJServerではIJServer作成時にEJBコンテナの配置先で指定する仮想ホスト名にIPCOMのサイト負荷分散ポリシーに設定した、仮想IPアドレスに対応する仮想ホスト名を設定してください。
代表ポート
IJServerではIJServer作成時にEJBコンテナの配置先で指定する代表ポートにIPCOMのCORBAサービスに設定した代表ポートの値を設定してください。
IPCOMの設定の詳細は“IPCOMのマニュアル”を参照してください
IJServer作成時のEJBコンテナ配置先
IJServer作成時、IJServerタイプに“WebアプリケーションとEJBアプリケーションを別JavaVMで運用”を選択した場合、Servletコンテナが配置されているサーバグループまたは単体運用の管理対象サーバのネーミングサービスの設定により、EJBコンテナの配置先として選択できるサーバグループまたは単体運用の管理対象サーバが限定されます。
ネーミングサービスのホスト定義がローカルホストの場合
Servletコンテナが配置されているサーバグループまたは単体運用の管理対象サーバがEJBコンテナの配置先となります。
ネーミングサービスのホスト定義がリモートホスト、かつ、ラインの場合
ネーミングサービスのホスト定義で設定したサーバグループまたは単体運用の管理対象サーバがEJBコンテナの配置先となります。
ネーミングサービスのホスト定義がリモートホスト、かつ、“IPCOMを使用する”の場合
Enterprise Editionで構成されるサーバグループまたは単体運用の管理対象サーバの中から選択できます。
IJServerワークユニットの定義項目
IJServerワークユニットの定義項目は、サーバグループに所属する各管理対象サーバが採用する値です。サーバグループ内の合計値ではありません。
たとえば、プロセス多重度を5とした場合、サーバグループに所属する各管理対象サーバのプロセス多重度は5となります。
Servletコンテナ設定のIPアドレス
Servletコンテナ設定のIPアドレスは、以下の値となります。
管理サーバでIJServerを新規作成した場合
サイト参加時に指定した業務LANのIPアドレスが設定されます。
サイト参加時にすでにIJServerが作成されていた場合
サイト参加後も、設定されている値が有効となります。
上記の設定は、サイトからサーバを削除した後も有効です。
WebサーバとしてMicrosoft(R) Internet Information Servicesを使用する場合
管理サーバからの環境設定(ワークユニットの作成、Webアプリケーションの配備など)は、Interstage HTTP Serverを使用する場合と同様の操作で行います。
ただし、Interstage HTTP Serverを使用する場合と、Microsoft(R) Internet Information Servicesを使用する場合とでは、以下の差異があります。
サーバグループには、Interstage HTTP ServerとMicrosoft(R) Internet Information Servicesを混在して使用することはできません。
Webサーバの設定および起動停止は個々に行う必要があり、一括操作での起動停止や状態確認はできません。
Webサーバコネクタの状態に関しても、常に「停止」状態で表示され、実際の状態について管理サーバから確認することはできません。
なお、Microsoft(R) Internet Information Servicesを使用する場合の環境設定については、“J2EEユーザーズガイド”の“Servletサービスの運用準備”の“Microsoft(R) Internet Information Servicesの環境設定”を参照してください。
WebサーバとしてSun Java System Web Serverを使用する場合
管理サーバからの環境設定(ワークユニットの作成、Webアプリケーションの配備など)は、Interstage HTTP Serverを使用する場合と同様の操作で行います。
ただし、Interstage HTTP Serverを使用する場合と、Sun Java System Web Serverを使用する場合とでは、以下の差異があります。
サーバグループには、Interstage HTTP ServerとSun Java System Web Serverを混在して使用することはできません。
Webサーバの設定および起動停止は個々に行う必要があり、一括操作での起動停止や状態確認はできません。
Webサーバコネクタの状態に関しても、常に「停止」状態で表示され、実際の状態について管理サーバから確認することはできません。
なお、Sun Java System Web Serverを使用する場合の環境設定については、“J2EEユーザーズガイド”の“Servletサービスの運用準備”の“Sun Java System Web Serverの環境設定”を参照してください。
■ IJServerの運用モデル
マルチサーバ環境におけるIJServerの運用モデルは、1階層から3階層の通信モデルとなります。
以下に代表的なモデルを示します。
IJServerの配置先はすべて同じバージョンのサーバグループまたは単体運用の管理対象サーバを指定する必要があります。
3階層ライン型モデル
Webサーバコネクタ、Servletコンテナ、EJBコンテナの各構成要素を3つのサーバグループに配置し、リレーションがライン型のモデルです。
2階層メッシュ型モデル
WebサーバコネクタとServletコンテナ、EJBコンテナを2つのサーバグループに配置し、リレーションがメッシュ型のモデルです。
1階層モデル
EJBコンテナをサーバグループに配置したモデルです。