Interstage Application Server/Interstage Web Server J2EE ユーザーズガイド |
目次 索引 |
第1部 J2EE共通編 | > 第3章 J2EEアプリケーションの運用 | > 3.5 Webサーバコネクタにおけるリクエストの振り分け制御 |
本機能は、以下の製品で使用可能です。
Standard-J Edition同梱のWeb Packageでは、本機能は使用できません。
なお、以下のOSで動作する製品では、Web Packageを提供していません。
IJServerとWebサーバをそれぞれ別のサーバマシンに分離して負荷分散運用を行う場合に、分散先のIJServerマシンやServletコンテナの稼動状況を監視し、故障したIJServerマシンやServletコンテナを自動的に振り分けの対象から除外することや、故障から復旧したIJServerマシンやServletコンテナを自動的に振り分けの対象に戻すことができます。
Webサーバコネクタの故障監視機能によって振り分けの対象から除外されたIJServerマシンやServletコンテナに対しては、Webサーバコネクタがリクエストの振り分けを抑止します。
故障監視機能には、以下の2種類の故障監視方式があります。
IJServerマシンのIPアドレスに対してping(ICMP ECHO)を発行し、応答(ICMP ECHO REPLY)の有無によって、稼動状況を監視します。
例えば、上図のように、故障監視機能はマシン1とマシン2のIPアドレスに対して定期的(例えば60秒ごと)にpingを発行し、応答があるかどうかを監視します。マシン1のハード故障などによってpingの応答がなくなると、自動的に振り分けの対象から除外され、Webサーバコネクタはマシン1へのリクエストの振り分けを停止します。
故障したマシンを修理して、再びpingの応答が返るようになると、自動的に振り分けの対象に戻され、Webサーバコネクタは再びマシン1へリクエストの振り分けを開始します。
Servletコンテナがリクエストを受け付けるTCPポートに対して、socketのconnectによるTCPコネクションの接続可否によって、Servletコンテナの稼動状況を監視します。
例えば、上図のように、故障監視機能はマシン1とマシン2上でオープンされているServletコンテナがリクエストを待ち受けているTCPポートに対して定期的(例えば60秒ごと)にconnectを行い、接続できるかどうかを監視します。マシン1のIJServerAの停止などによりServletコンテナがリクエストを待ち受けるTCPポートがクローズし、connectによるTCPコネクション接続ができなくなると、自動的に振り分け対象から除外され、Webサーバコネクタは、マシン1のIJServerAのServletコンテナへのリクエストの振り分けを停止します。
IJServerAを起動して、再びconnectによるTCPコネクション接続ができるようになると、自動的に振り分けの対象に戻され、Webサーバコネクタは再びマシン1のIJServerAのServletコンテナへのリクエストの振り分けを開始します。
故障監視機能を使用する場合には、事前に以下の設定が必要です。
故障監視機能の設定は、[Webサーバ] > “Webサーバ名” > [Webサーバコネクタ] > [故障監視設定]タブで行います。また、isj2eeadminコマンドを使用して設定することもできます。詳細は、“リファレンスマニュアル(コマンド編)”を参照してください。
以下の設定項目があります。
項目名
意味
故障監視方式
以下のいずれかの監視方法を選択します。
- 使用しない
故障監視機能を使用しません。- ping監視
IJServerマシンの稼動状況をpingで行います。- ポート監視
IJServerマシンの稼動状況をpingで行うと同時に、Servletコンテナの稼動状況をconnectで行います。故障監視間隔
ping監視またはポート監視による稼動状況の監視を実施する間隔を設定します。
応答待ち時間
IJServerマシンにpingまたはconnectを発行してから、応答が返るまでの待ち時間を設定します。
待ち時間を超えても応答がなかった場合、再度、故障時のリトライ回数に設定した回数のpingまたはconnectを発行し、そのすべてに応答がなかった場合に故障と判断されます。故障時のリトライ回数
IJServerマシンにpingまたはconnectを発行してから、応答待ち時間を超えても応答がなかった場合のリトライ回数を設定します。
起動待ち時間
Webサーバコネクタ起動時に、故障監視機能が未起動の場合、故障監視機能の起動待ちをする時間を設定します。
この時間を超えても故障監視機能が起動しなかった場合、Webサーバコネクタは故障監視機能を使用せずに動作します。
故障監視機能を使用せずに動作する場合、Webサーバコネクタは、クライアントからのリクエストを、故障中のIJServerマシンやServletコンテナに振り分けてしまうことがあります。
以下のような運用を行う場合について、具体的な運用手順例を説明します。
以下では、Interstage管理コンソールを使用する場合の手順を説明していますが、isj2eeadminコマンドを使用して設定することもできます。詳細は、“リファレンスマニュアル(コマンド編)”を参照してください。
【条件】
サーバマシンA(IPアドレス:172.16.30.1)
Webサーバを運用
サーバマシンB(IPアドレス:172.16.30.2)
IJServerを運用
サーバマシンC(IPアドレス:172.16.30.3)
IJServerを運用
【設定手順】
項目名 |
設定値例 |
---|---|
ワークユニット名 |
MyIJServer |
V8.0互換モードのIJServer作成 |
しない |
要求を受け付けるWebサーバのIPアドレス |
172.16.30.1 |
ServletコンテナのIPアドレス |
172.16.30.2 |
ポート番号 |
9000 |
項目名 |
設定値例 |
---|---|
ワークユニット名 |
MyIJServer |
V8.0互換モードのIJServer作成 |
しない |
要求を受け付けるWebサーバのIPアドレス |
172.16.30.1 |
ServletコンテナのIPアドレス |
172.16.30.3 |
ポート番号 |
9000 |
項目名 |
設定値例 |
---|---|
ワークユニット名 |
MyIJServer |
ServletコンテナのIPアドレス:ポート番号 |
172.16.30.2:9000 |
項目名 |
設定値例 |
---|---|
故障監視方式 |
ping監視 |
故障監視間隔 |
60 |
応答待ち時間 |
10 |
故障時のリトライ回数 |
3 |
【条件】
サーバマシンA(IPアドレス:172.16.30.1)
Webサーバを運用
サーバマシンB(IPアドレス:172.16.30.2)
IJServerを運用
サーバマシンC(IPアドレス:172.16.30.3)
IJServerを運用
【設定手順】
項目名 |
設定値例 |
---|---|
ワークユニット名 |
MyIJServer1 |
V8.0互換モードのIJServer作成 |
しない |
要求を受け付けるWebサーバのIPアドレス |
172.16.30.1 |
ServletコンテナのIPアドレス |
172.16.30.2 |
ポート番号 |
9000 |
項目名 |
設定値例 |
---|---|
ワークユニット名 |
MyIJServer2 |
V8.0互換モードのIJServer作成 |
しない |
要求を受け付けるWebサーバのIPアドレス |
172.16.30.1 |
ServletコンテナのIPアドレス |
172.16.30.2 |
ポート番号 |
9001 |
項目名 |
設定値例 |
---|---|
ワークユニット名 |
MyIJServer1 |
V8.0互換モードのIJServer作成 |
しない |
要求を受け付けるWebサーバのIPアドレス |
172.16.30.1 |
ServletコンテナのIPアドレス |
172.16.30.3 |
ポート番号 |
9000 |
項目名 |
設定値例 |
---|---|
ワークユニット名 |
MyIJServer2 |
V8.0互換モードのIJServer作成 |
しない |
要求を受け付けるWebサーバのIPアドレス |
172.16.30.1 |
ServletコンテナのIPアドレス |
172.16.30.3 |
ポート番号 |
9001 |
項目名 |
設定値例 |
---|---|
ワークユニット名 |
MyIJServer1 |
ServletコンテナのIPアドレス:ポート番号 |
172.16.30.2:9000 |
項目名 |
設定値例 |
---|---|
ワークユニット名 |
MyIJServer2 |
ServletコンテナのIPアドレス:ポート番号 |
172.16.30.2:9001 |
項目名 |
設定値例 |
---|---|
故障監視方式 |
ポート監視 |
故障監視間隔 |
60 |
応答待ち時間 |
10 |
故障時のリトライ回数 |
3 |
Webサーバマシンで、以下のコマンドを使用することにより、分散先のIJServerの稼動状況を表示することができます。コマンドの詳細は、“リファレンスマニュアル(コマンド編)”を参照してください。
svmondspstat
オプション指定なしでsvmondspstatコマンドを実行することにより、すべての分散先についてのIJServerの稼動状況が表示されます。
【表示例】
条件:
上記の条件の場合、以下のように表示されます。
----------------------------------------------------------------------- Status IP Address : Port Number : WorkUnit Name : WebServer Name --------------------------------------------------------------------- ACTIVE 172.16.30.2 : 9000 : MyIJServer1 : FJapache ACTIVE 172.16.30.3 : 9000 : MyIJServer1 : WEB001 DOWN 172.16.30.2 : 9001 : MyIJServer2 : FJapache ACTIVE 172.16.30.3 : 9001 : MyIJServer2 : WEB001 -----------------------------------------------------------------------
以下のように、Webサーバコネクタの“ワークユニット名”で設定したワークユニット名を指定してコマンドを実行することにより、特定のIJServerの稼動状況のみを表示することができます。
【実行例】
----------------------------------------------------------------------- svmondspstat -i MyIJServer1 -----------------------------------------------------------------------
【表示例】
条件:
上記の条件の場合、以下のように表示されます。
----------------------------------------------------------------------- Status IP Address : Port Number : WorkUnit Name : WebServer Name --------------------------------------------------------------------- ACTIVE 172.16.30.2 : 9000 : MyIJServer1 : FJapache ACTIVE 172.16.30.3 : 9000 : MyIJServer1 : WEB001 -----------------------------------------------------------------------
故障監視機能を使用する場合、下記の留意点があります。
目次 索引 |