5.5.2 EADsセッションフェイルオーバ機能の概要

EADsセッションフェイルオーバ機能は,セッション情報をEADsサーバで管理することで,障害が発生した場合にJ2EEサーバ間のセッション情報の引き継ぎを実現するための機能です。障害が発生した場合,EADsサーバに格納されているセッション情報を基にセッションを再作成し,正常に業務を続行できます。

ただし,複数のJ2EEサーバから同じセッションIDのグローバルセッション情報が同時に更新された場合は,グローバルセッション情報の整合性が失われるおそれがあります。

EADsセッションフェイルオーバ機能の処理の概要について説明します。

<この項の構成>
(1) セッション情報の格納の流れ
(2) WebサーバまたはJ2EEサーバで障害が発生した場合の処理の流れ
(3) EADsサーバで障害が発生した場合の処理の流れ

(1) セッション情報の格納の流れ

EADsセッションフェイルオーバ機能を使用すると,リクエストによるセッションの作成処理が発生したときに,処理の延長上でセッション情報がEADsサーバに格納されます。セッション情報の格納先のEADsサーバは,Webアプリケーションごとに決まります。

EADsの詳細については,マニュアル「Elastic Application Data store ユーザーズガイド」を参照してください。

セッション情報の格納の流れを次の図に示します。

図5-9 セッション情報の格納の流れ(EADsセッションフェイルオーバ機能)

[図データ]

項番は図中の番号と対応しています。

  1. Webサーバがクライアントからセッションの作成が必要なリクエストを受け取ると,J2EEサーバでセッションが作成されます。
  2. 作成されたセッションについて,セッション情報が作成されます。
  3. EADsクライアントを経由して,EADsサーバ1(セッション情報の格納先サーバ)上のセッション情報キャッシュにセッション情報が格納されます。
  4. EADsセッションフェイルオーバ機能によって,EADsサーバ1上のセッション情報キャッシュに格納されたセッション情報が,クラスタ内のほかのEADsサーバ2(セッション情報のコピー先サーバ)上のセッション情報キャッシュに自動的にコピーされます。

なお,これ以降,セッション情報が格納されたEADsサーバをセッション情報の格納先サーバと呼びます。また,セッション情報の格納先サーバに格納されたセッション情報がコピーされたEADsサーバをセッション情報のコピー先サーバと呼びます。

(2) WebサーバまたはJ2EEサーバで障害が発生した場合の処理の流れ

WebサーバまたはJ2EEサーバで障害が発生した場合,EADsサーバ上のセッション情報キャッシュに格納されているセッション情報を基に,ほかのJ2EEサーバでセッションを再作成し,正常に業務を続行できます。

J2EEサーバで障害が発生した場合の処理について,次の図に示します。

図5-10 J2EEサーバで障害が発生した場合の処理(EADsセッションフェイルオーバ機能)

[図データ]

  1. J2EEサーバ1で障害が発生すると,負荷分散機によってJ2EEサーバ2へリクエストが転送されます。
  2. 転送先のJ2EEサーバ2でリクエストを処理するとき,リクエストに関連づけられたセッションが存在しないため,EADsサーバ1(セッション情報の格納先サーバ)上からセッション情報を引き継ぎます。
  3. セッションが再作成されます。

セッションが正常に引き継がれ,障害発生前の状態で業務を続行できます。

また,J2EEサーバ1を再起動し,J2EEサーバ1が障害から回復すると,再びリクエストは,J2EEサーバ1に送信されます。

(3) EADsサーバで障害が発生した場合の処理の流れ

EADsサーバで障害が発生すると,障害が発生したEADsサーバは,EADsの機能によってクラスタから自動的に切り離されます。障害が発生したEADsサーバがセッション情報の格納先サーバの場合,クラスタ内の正常なEADsサーバ(セッション情報のコピー先サーバ)がセッション情報の格納先サーバとして切り替えられます。セッション情報の格納先サーバが切り替わる際,J2EEサーバから接続するEADsサーバも自動的に切り替わるため,そのまま業務を続行できます。

また,障害が発生したEADsサーバがセッション情報のコピー先サーバの場合は,J2EEサーバからセッション情報の格納先のEADsサーバに接続できるため,そのまま業務を続行できます。

セッション情報の格納先のEADsサーバで障害が発生した場合の処理について,次の図に示します。

図5-11 EADsサーバで障害が発生した場合の処理の流れ

[図データ]