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

ロードバランス環境の構築方法

Webサーバと intra-mart Accel Platform 間でロードバランスを行いながら連携を行う設定例を紹介します。 以下の手順を参考として、各種要件・ご利用の環境に合わせて環境構築を行っ …

no image

iPhone/iPad用アプリケーション im-scheduler リリース!!

先日、10月22日に弊社イベント Enterprise Web Solution 2010に多数の方がご参加頂き、 ありがとうございました。 実は、そのイベントの裏で、ひっそりと、 iPhone/iP …

no image

intra-mart Advent Calendar 2013 第3日:ViewCreatorで計算式が使えるようになってますよ!

この記事は、intra-mart Advent Calendar 2013 第3日の記事です。 きょうから、3日間ほど、Accel PlatformのViewCreatorで新規追加された機能を紹介し …

no image

Formaの画面遷移を制御するには

今回のブログ記事では、スクリプトを利用してFormaの画面遷移を制御する方法を紹介します。 目次 条件に応じて遷移先を変更する フォーム遷移設定 サンプルコード サンプルアプリケーション 処理後の遷移 …

「高松商店」IoT化事例のご紹介

こんにちは、デジタルビジネス事業推進室の高松です。 「デジタルビジネス事業推進室」では、IoTやAI、RPAといった新しい要素技術を活用したビジネス化の検証をしています。 今回は、弊社のちょっと変わっ …

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

RSSRSSRSSRSS