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