開発Blog

セッション管理モジュールのご紹介

投稿日:2017-07-26 更新日:

この記事では、2017 Springでリリースされたセッション管理モジュールをご紹介させていただきます。
また、2014 Spring から 2016 Winterまでのバージョンでセッション管理モジュールを利用する方法も併せて紹介させていただきます。

概要

セッション管理モジュールは、アプリケーションサーバのセッション管理機能を利用せずに intra-mart Accel Platform にてセッション管理を行う機能です。
セットアップガイド - 11. 付録 - 11.5. セッション管理モジュール

この機能は 2017 Spring から利用可能です。

動機

intra-mart Accel Platformでは、 2017 Spring時点 で以下の3つのアプリケーションサーバをサポートしています。
- Resin
- WebSphere Application Server
- Oracle WebLogic Server

この内、Resinをお使いのお客様から、セッションのデータ量やマシンの負荷状況によって内部データベースが壊れるという問い合わせが寄せられていました。
FAQ: Resin が「exit reason: HEALTH (exit code=9)」で再起動してしまいます。

一方、内部データベースが壊れるという問題に対して、セッション永続化機構を無効化するという回避手段があります。
この回避手段を利用すると、セッション情報を内部データベースに保持しなくなるため、内部データベースへのアクセス頻度が大幅に減ります。
これにより、結果的に内部データベースが壊れる可能性を大幅に減らすことができます。
しかし、セッションの永続化やフェイルオーバーが行われなくなるという制限があるため、この回避手段を利用できないお客様もいらっしゃいました。

そこで、Resinのセッション永続化機構を無効化してもセッションの永続化やフェイルオーバーが利用できるように、それらの機能を含めたセッション管理機構を独自に用意して提供するという判断に至りました。

利用方法

セッション管理モジュールを利用することで、Resinのセッション永続化機構を無効化してもセッションの永続化やフェイルオーバーを行うことができます。

2017 Spring以降の場合

利用方法については、セットアップガイドを参照ください。
セットアップガイド - 11. 付録 - 11.5. セッション管理モジュール

2014 Spring から 2016 Winterまでの場合

利用方法については、 session_store_module.zip に含まれるreadme.txtに記載された「インストール方法」を参照ください。

注意事項

セッション管理モジュールを利用される場合に、いくつか制限事項がありますので必ず以下のドキュメントをご確認ください。
- リリースノート - 8. 制限事項 - 8.2.15. セッション管理

セッション管理モジュールは、データベースにセッションを永続化します。
永続化の設定を行った場合、リクエストの都度データベースに読み/書きが発生する可能性があるため、運用環境に応じてデータベースのチューニングを行う必要があります。
また、アーカイブログを有効にしている場合、データベース製品のアーカイブログが大量に出力される可能性があります。

session_store_module.zip の変更履歴

session_store

Version Note
1.0.3 issue:29260 セッション管理モジュールで invalidate 時にリスナーが複数回呼ばれてしまいます。
1.0.2 issue:28968 セッション管理モジュールのセッションリーパで使用するリソースを削減します。
1.0.1 issue:26035 セッション管理モジュール利用時に予期せぬタイミングでセッションがタイムアウトが発生します。
1.0.0 公開

session_store_hazelcast_em

Version Note
1.0.2 issue:28899 セッション管理モジュールでセッション情報を永続化先からロードする処理のパフォーマンスを改善します。
issue:28968 セッション管理モジュールのセッションリーパで使用するリソースを削減します。
1.0.1 issue:27344 設定ファイルの読み込み処理を改善します。
1.0.0 公開

最後に

セッション管理モジュールについて簡単にご紹介させていただきました。
Resinをご利用中で内部データベースが壊れるという問題に対して対策を実施したいが、セッションの永続化やフェイルオーバーは担保したいというお客様は、是非ご活用ください。

-開発Blog

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

カラーパターンの追加

イントラマートには標準で青赤緑灰橙のページカラーパターンが用意されていますが、実はこれを追加することができます。 と、そこまでは皆さんご存知かもしれませんが、実際にカラーパターンを自作して追加されてい …

no image

業務スケルトン

こんにちは。開発本部の大西です。 きょうは、昨年11月末にリリースしたe Builder Application Developer/e Builder Version 7.1 Patch3に機能追加 …

no image

intra-martのLDAP接続機能について

※下記内容は、過去のintra-mart(Ver4.3以前)に関する内容です。最新のintra-martでは、異なる情報であることがありますので、ご注意ください。 intra-martはver2.1よ …

no image

intra-mart Advent Calendar 2013 第19日:iAPでキャッシュしている所は何処だ!?

この記事は、intra-mart Advent Calendar 2013 第19日の記事です。 AdventCalendarの新機軸!?=我がチーム担当機能の宣伝の一環「認可機構(im-authz) …

no image

Webアプリケーションサーバ情報取得ツール intra-mart Server-eye

Server-eye とは? Web application serverの情報を、ネットワークを介して手元のブラウザで見ることができます。ブラウザの画面はHTML5およびAjax(JavaScrip …

まだデータがありません。

RSSRSSRSSRSS