異常発生時のセッション情報のリカバリ範囲は、以下のとおりです。
Webコンテナ異常終了時のセッションのリカバリ範囲
Webコンテナが異常終了した場合であっても、Session Registry Serverにセッションがバックアップされていれば、運用中のWebコンテナでそのセッションをリカバリすることができます。
したがって、リカバリの範囲として、Session Registry Serverにセッションがバックアップされたかどうかが重要なポイントとなります。
バックアップの契機は、Session Registry Client側のライフサイクルモジュールのプロパティ(backupMode)で設定します。
例
[リクエスト終了時]指定の場合
レスポンスをWebブラウザに返信するごとにバックアップを行います。
このため、Webブラウザに返信した直後に異常終了した場合でもリカバリすることができます。
[一定間隔 5 秒ごと]指定の場合
5秒ごとにセッション情報をバックアップします。IJServerクラスタが異常終了した場合、最後にバックアップされたセッションの情報をリカバリすることができます。
参照
Session Registry Clientの設定については、「4.23.3 Session Registry Clientの設定」を参照してください。
Session Registry Server異常終了時のセッションのリカバリ範囲
Session Registry Serverが異常終了した場合であっても、セッションに格納されたデータがファイルに永続化されていれば、再度Session Registry Serverを起動したときに永続化されたファイルからそのセッションをリカバリすることができます。
したがって、リカバリの範囲として、Session Registry Serverにおいてセッションが永続化されたかどうかが重要なポイントとなります。
永続化の間隔は、IJServerクラスタのJVMオプション「-Dcom.fujitsu.interstage.jservlet.sessionrecovery.serialize.interval」で指定します。
参照
詳細については、「4.23.2.3 Session Registry Serverの環境設定」を参照してください。
例
-Dcom.fujitsu.interstage.jservlet.sessionrecovery.serialize.intervalに60を設定した場合
60秒ごとにセッションの情報をファイルに書き出し(永続化)します。
永続化されたタイミングによりますが、異常終了時から60秒前までのセッションはリカバリされません。
異常終了時から60秒前までにSession Registry Serverにバックアップされたセッションはリカバリされます。
永続化を行うことにより、信頼性は向上しますが、レスポンスが低下します。
永続化の有効・無効は、IJServerクラスタのJVMオプション 「-Dcom.fujitsu.interstage.jservlet.sessionrecovery.session.store」で指定します。
参照
詳細については、「4.23.2.3 Session Registry Serverの環境設定」を参照してください。
以下にその動作の違いを説明します。
値に「on」を設定した場合
Session Registry Serverは、セッションの情報を定期的に永続化します。
予期しない障害によりSession Registry Serverがダウンした場合、永続化された情報からダウン前の最後に永続化された時点でのセッションの状態を復元することが可能です。
Session Registry Serverは、IJServerクラスタのJVMオプション「-Dcom.fujitsu.interstage.jservlet.sessionrecovery.serialize.file.path」のディレクトリに、「-Dcom.fujitsu.interstage.jservlet.sessionrecovery.serialize.interval」の間隔で、セッションの情報を永続化します。
値に「off」を設定した場合
Session Registry Serverは、セッションの情報を永続化しません。
したがって、予期しない障害によりSession Registry Serverがダウンした場合、セッションのデータを復元することはできません。