Spring Session を使用して HTTP セッション データを格納する

完了

このユニットでは、Azure Cache for Redis を使用して Spring Session を介して HTTP セッション データを格納する方法について説明します。

HTTP セッション

HTTP セッションでは、ユーザー データ (通常はセキュリティ情報) が要求間に格納されます。 HTTP セッションでは、アプリケーションの状態を格納したり、頻繁にアクセスされるユーザー データをキャッシュしたりすることもできます。 HTTP セッションはサーバーに格納されるため、スケーラビリティの問題が発生する可能性があります。 アプリケーションがより多くのノードにスケールアウトされるときに、セッションをレプリケートする必要があります。

HTTP セッションはサーブレットの初期から Java で使用でき、JavaServer Faces (JSF) などのテクノロジではそれらを頻繁に使用しています。 HTTP セッションのスケーリングは常に問題であり、セッション レプリケーション メカニズムはすべての主要な Java アプリケーション サーバーに存在します。

1 つの問題は、HTTP セッション レプリケーション メカニズムは標準化されず、各アプリケーション サーバーに固有の API に依存することです。 このセットアップにより、移植性の問題が発生する可能性があります。

春セッション

Spring Session は、HTTP セッション レプリケーションを構成するための汎用ソリューションを提供する Spring サブプロジェクトです。 Spring Session では、いくつかのバックエンド オプションの 1 つとして Redis がサポートされています。 Spring Session は Redis 内のすべてのセッション データをレプリケートするため、アプリケーションがスケールアウトされると、各ノードはユーザー セッションにアクセスできます。

Spring Session の構成は、前の Spring Data 構成に似ています。また、別の推奨される Redis の使用シナリオを示します。

Redis で Spring Session を使用する

一部の構成は Spring Data Redis の場合と同じであり、両方のソリューションに対して 1 回だけ実行する必要があります。 Spring Data の構成と同様に、通常は Spring Initializr を使用し、次の主なタスクを実行します。

  1. Spring Session Redis ライブラリをアプリケーションに追加します。
  2. Azure Cache for Redis インスタンスに接続するように application.yml ファイルを構成します。
  3. Java の HTTP セッション メカニズムを使用して、データを格納および取得します。

次のユニットに進み、この構成を実装します。