概要

Web アプリケーションのサイズ変更は、ユーザーセッションの処理方法によって異なります。サイズ変更の 1 つの方法は、ノードクラスターによって、スティッキーセッションとセッションレプリケーションを実装することです。

しかし、スティッキーセッションには特有のボトルネックがあります。問題がある場合は、外部のキャッシュサーバーを導入し、複数のノードで様々なセッションを処理します。

すべての ColdFusion セッションはメモリ内に保存されます。ただし、ColdFusion ノード間でセッションを共有することはできません。セッションをレプリケートできますが、クラスター内のノードの数が増えると、セッションの設定と管理は難しくなり、多くのリソースが必要になります。

この問題を解決する 1 つの方法は、Redis のような外部セッションストレージを使用することです。

Redis のサポート

ColdFusion セッションを、ColdFusion サーバーのインメモリストレージの代わりに、Redis のような外部キャッシュサーバーに保存できるようになりました。

Redis 内にセッションストレージをセットアップするには:

  1. ColdFusion Administrator で、サーバーの設定/メモリ変数をクリックします。

  2. セッションストレージ」ドロップダウンリストから、「Redis」を選択します。

  3. Redis サーバーの詳細とポート番号を入力します。

    注意:

    J2EE セッション変数の使用」を選択した場合、ColdFusion セッションを Redis に保存することはできません。

セッションオブジェクトのシリアル化

セッションオブジェクトを Redis から受け取れば、そのリクエストの期間内でオブジェクトに変更を加えることができます。セッションは(変更された場合)再度リクエスト側の外部ストレージに永続化されます。1 つのノードに対する現在のリクエストによって行われた変更は、その他のすべてのノードで利用できます。

注意:

クラスター内のノードで Redis を使用する場合は、ロードバランサーでのスティッキーセッションを無効にしてください。また、クラスターマネージャーで「スティッキーセッション」と「セッションレプリケーション」のチェックボックスをオフにしてください。

セッションの無効化

指定したタイムアウト時間が過ぎると、インメモリと Redis の両方で、セッションが無効化され削除されます。

Redis のバックアップ

rdb ファイルを使用して、Redis のバックアップを取ることができます。例えば、1 時間ごとに rdb ファイルのバックアップを作成して、スナップショットを別の場所に保存することができます。

Redis サーバーによって作成される dump.rdb ファイルを別の場所にコピーすることができます。

Redis のデータを取得するには、appendonly.aof ファイルを削除し、さらに dump.rdb の最新のインスタンスも削除します。古い dump.rdb ファイルをその場所にコピーします。

注意:これらのファイルを削除する前に、Redis サーバーを停止してください。rdb ファイルをコピーした後、Redis を再起動してください。

Redis のスナップショットの継続時間を変更するには、redis.windows.conf.properties ファイルを編集し、スナップショットのプロパティを変更します。

本作品は Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License によってライセンス許可を受けています。  Twitter™ および Facebook の投稿には、Creative Commons の規約内容は適用されません。

法律上の注意   |   プライバシーポリシー