開発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.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

intra-mart Advent Calendar 2013 第22日:アナウンス機能について(2013 Winter新機能)

この記事は、intra-mart Advent Calendar 2013 第22日の記事です。 今回は、Accel Platform 2013 Winter(Felicia)からの新機能、アナウンス …

no image

IM-ContentsSearchでの「あいまい検索」

最近、IM-ContentsSearchの導入事例が増えてきており、以下のようなご質問を受けることが多くなって来ました。 Q:IM-ContentsSearchで「あいまい検索」は可能でしょうか。 例 …

no image

intra-mart Advent Calendar 2013 第7日:個人設定メニューの順番を変更する方法(右上のヤーツ)

この記事は、intra-mart Advent Calendar 2013 第7日の記事です。 今回は「個人設定メニューの順番変更方法」をご紹介したいと思います。 intra-mart Accel P …

no image

ISPの小技

今回は、ISPのスケジュール機能の小技に関して紹介します。 以外に知られていない機能で、Ver7.0、7.1で、スケジュールのコピー機能があります。 マウス操作だけでスケジュールのコピーができますので …

no image

iSeries上での開発注意点

iシリーズとはいえ、普通のwindows系のサーバと取扱いは変わりません。 インストールも通常のインストーラで可能です。ただし下記の注意点があります。 1.iシリーズのDB2はEBCDICコード
AP …

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

RSSRSSRSSRSS