EADsセッションフェイルオーバ機能は,セッション情報をEADsサーバで管理することで,障害が発生した場合にJ2EEサーバ間のセッション情報の引き継ぎを実現するための機能です。障害が発生した場合,EADsサーバに格納されているセッション情報を基にセッションを再作成し,正常に業務を続行できます。
ただし,複数のJ2EEサーバから同じセッションIDのグローバルセッション情報が同時に更新された場合は,グローバルセッション情報の整合性が失われるおそれがあります。
EADsセッションフェイルオーバ機能の処理の概要について説明します。
EADsセッションフェイルオーバ機能を使用すると,リクエストによるセッションの作成処理が発生したときに,処理の延長上でセッション情報がEADsサーバに格納されます。セッション情報の格納先のEADsサーバは,Webアプリケーションごとに決まります。
EADsの詳細については,マニュアル「Elastic Application Data store ユーザーズガイド」を参照してください。
セッション情報の格納の流れを次の図に示します。
図5-9 セッション情報の格納の流れ(EADsセッションフェイルオーバ機能)
項番は図中の番号と対応しています。
なお,これ以降,セッション情報が格納されたEADsサーバをセッション情報の格納先サーバと呼びます。また,セッション情報の格納先サーバに格納されたセッション情報がコピーされたEADsサーバをセッション情報のコピー先サーバと呼びます。
WebサーバまたはJ2EEサーバで障害が発生した場合,EADsサーバ上のセッション情報キャッシュに格納されているセッション情報を基に,ほかのJ2EEサーバでセッションを再作成し,正常に業務を続行できます。
J2EEサーバで障害が発生した場合の処理について,次の図に示します。
図5-10 J2EEサーバで障害が発生した場合の処理(EADsセッションフェイルオーバ機能)
セッションが正常に引き継がれ,障害発生前の状態で業務を続行できます。
また,J2EEサーバ1を再起動し,J2EEサーバ1が障害から回復すると,再びリクエストは,J2EEサーバ1に送信されます。
EADsサーバで障害が発生すると,障害が発生したEADsサーバは,EADsの機能によってクラスタから自動的に切り離されます。障害が発生したEADsサーバがセッション情報の格納先サーバの場合,クラスタ内の正常なEADsサーバ(セッション情報のコピー先サーバ)がセッション情報の格納先サーバとして切り替えられます。セッション情報の格納先サーバが切り替わる際,J2EEサーバから接続するEADsサーバも自動的に切り替わるため,そのまま業務を続行できます。
また,障害が発生したEADsサーバがセッション情報のコピー先サーバの場合は,J2EEサーバからセッション情報の格納先のEADsサーバに接続できるため,そのまま業務を続行できます。
セッション情報の格納先のEADsサーバで障害が発生した場合の処理について,次の図に示します。
図5-11 EADsサーバで障害が発生した場合の処理の流れ