5.4.1 Webアプリケーションのサービスの閉塞と閉塞解除とは
(1) サービス閉塞の方法
Webアプリケーションのサービスを閉塞する方法には,次の五つがあります。
- 負荷分散機でリクエストの振り分け先を変更する方法※1
- 負荷分散機を停止する方法※2
- Webサーバを停止する方法※3
- J2EEサーバを停止する方法
- アプリケーションを停止する方法
- 注※1
- 負荷分散機でリクエストの振り分け先を変更する方法の場合,実行中のリクエストの処理を,エラーを返さずに続行させるため,負荷分散機の次の機能を使用します。
- リクエスト振り分け先の変更時に,変更前の負荷分散機とWebサーバ間の接続を,リクエスト処理が完了するまで保持する機能
- 注※2
- 負荷分散機を停止する方法の場合,負荷分散機の停止中に,実行中のリクエストの処理を,エラーを返さずに続行させるため,負荷分散機の次の機能を使用します。
- 負荷分散機の停止時に,負荷分散機とWebサーバ間の接続を,リクエスト処理が完了するまで保持する機能
- 注※3
- Webサーバを停止する方法は,WebサーバにHitachi Web Serverを使用している場合だけできます。Microsoft IISを使用している場合は,実行中のリクエストにエラーを返すため,使用できません。
(2) 負荷分散機を使用したシステム構成でのサービス閉塞
サービス閉塞の方法には,負荷分散機を使用する場合と使用しない場合で手順が異なります。ここでは,負荷分散機でリクエストの振り分け先を変更することによって,サービスを閉塞する場合を例に,サービスの閉塞について説明します。
負荷分散機を使用してリクエストの振り分け先を変更する場合,サービス閉塞用のWebサーバを配置する必要があります。稼働中のWebアプリケーションの閉塞後は,サービス閉塞用のWebサーバにリクエストを転送するよう,負荷分散機を設定します。
サービス閉塞前とサービス閉塞後のリクエストの振り分けについて,次の図に示します。
図5-8 サービス閉塞前とサービス閉塞後のリクエストの振り分け
![[図データ]](figure/zu050800.gif)
なお,サービス閉塞用のWebサーバでは,Webアプリケーションのサービス閉塞後,リクエストがきたときには,エラーページを返すようにします。
表示させるエラーページはカスタマイズすることもできます。表示されるエラーページについては,「(3) エラーページの表示」を参照してください。
(3) エラーページの表示
閉塞したWebアプリケーションのサービスにアクセスした場合,クライアントにはエラーページが表示されます。表示されるエラーページは,次のどれかとなります。
- Webサーバのデフォルトのエラーページ,またはユーザが作成したエラーページ
- 接続エラーのページ※
- エラーステータスコードの表示されたエラーページ
- 注※
- 接続先のHTTPポートが閉じられている場合に表示されます。
(a) サービス閉塞の方法と表示されるエラーページ
表示されるエラーページは,Webアプリケーションのサービス閉塞の方法によって異なります。サービス閉塞の方法と,表示されるエラーページを次の表に示します。
表5-17 サービス閉塞の方法と表示されるエラーページ
サービス閉塞の方法 | 表示されるエラーページ |
---|
負荷分散機でリクエストの振り分け先を変更する方法 | サービス閉塞用のWebサーバで設定したエラーページ |
負荷分散機を停止する方法 | 接続エラーのページ |
Webサーバを停止する方法 | 接続エラーのページ※1 |
J2EEサーバを停止する方法 | 次のエラーステータスコードが表示されたページ
|
アプリケーションを停止する方法 | 次のエラーステータスコードが表示されたページ
|
- 注※1
- ただし,負荷分散機を使用している場合は,使用している負荷分散機の仕様に依存します。
- 注※2
- J2EEサーバを停止したときの404エラーは,アプリケーションの停止時に,J2EEサーバにはリクエストが到達していて,Webアプリケーションへの実行待ちキューには到達していないリクエストに対して返されます。
- 注※3
- 500エラーは,アプリケーションの停止時に,J2EEサーバには到達していないリクエストに対して返されます。
- 注※4
- 503エラーは,アプリケーションの停止時に,Webアプリケーションの実行待ちキューにあるリクエストに対して返されます。
- 注※5
- アプリケーションを停止したときの404エラーは,アプリケーションの停止時に,Webアプリケーションへの実行待ちキューに到達していないリクエストに対して返されます。
(b) ユーザ作成のエラーページの使用
表示されるエラーページは,ユーザ作成のエラーページにカスタマイズできます。ただし,カスタマイズはサービス閉塞の方法によって,できる場合とできない場合があります。サービス閉塞の方法と,エラーページのカスタマイズについて次の表に示します。
表5-18 サービス閉塞の方法とエラーページのカスタマイズ
サービス閉塞の方法 | エラーページのカスタマイズ |
---|
負荷分散機でリクエストの振り分け先を変更する方法 | ○ |
負荷分散機を停止する方法 | × |
Webサーバを停止する方法 | × |
J2EEサーバを停止する方法 | ○※ |
アプリケーションを停止する方法 | ○※ |
(凡例) ○:できる ×:できない
- 注※
- エラーページのカスタマイズをするときのWebサーバの設定で,httpsd.confファイルのErrorDocumentディレクティブでフルURL(http://で始まるURLを記述し,他サイトのコンテンツを指定したURL)を指定しているときには,302エラーが返ります。
- エラーページのカスタマイズの概要については,マニュアル「Cosminexus アプリケーションサーバ 機能解説 基本・開発編(Webコンテナ)」の「3.8 エラーページのカスタマイズ(Webサーバ連携)」を参照してください。エラーページのカスタマイズの設定については,マニュアル「Cosminexus アプリケーションサーバ 機能解説 基本・開発編(Webコンテナ)」の「3.8.3 実行環境での設定(Smart Composer機能を使用する場合)」,マニュアル「Cosminexus アプリケーションサーバ 機能解説 基本・開発編(Webコンテナ)」の「3.8.4 実行環境での設定(Smart Composer機能を使用しない場合)」,およびマニュアル「Hitachi Web Server」を参照してください。エラーページのカスタマイズは,WebサーバにHitachi Web Serverを使用している場合だけできます。
(4) サービス閉塞の解除
Webアプリケーションのサービス閉塞の解除は,サービス閉塞の方法によって異なります。サービス閉塞の方法ごとに,サービス閉塞の解除の方法を示します。
- 負荷分散機でリクエストの振り分け先を変更する方法の場合
J2EEサーバへリクエストが転送されるように,負荷分散機のリクエスト振り分け先を変更します。
- 負荷分散機を停止する方法の場合
負荷分散機を起動します。
- Webサーバを停止する方法の場合
Webサーバを起動します。
- J2EEサーバを停止する方法の場合
J2EEサーバを起動します。
- アプリケーションを停止する方法の場合
アプリケーションを開始します。