セッション パーシステンスとは、タスクやトランザクションを完了するために必要な「セッション」の期間(時間)の中で、クライアントのリクエストをバックエンドの同じWebサーバまたはアプリケーション サーバに送ることです。
高トラフィックのWebサイトでは、何百万とは言わないまでも、何十万ものユーザーを高速かつ信頼性の高い方法でサポートする必要があります。IT組織は、サーバをサーバ ファームと呼ばれるグループにまとめることで、このように大規模な処理をサポートします。ロード バランサは、サーバ グループの前に配置され、最大限の効率で個別のサーバにトラフィックを誘導します。
ユーザーがWebサイトを5分間閲覧すれば、おそらく複数のバックエンド サーバから情報を取得するでしょう。Webブラウザやバックエンド サーバは、ユーザーがより迅速に次のアクションを行えるように、情報を保存してWebエクスペリエンスを向上させようとしますが、毎回同じサーバにアクセスしないと、問題が発生しかねません。このような場合、ユーザーのすべてのリクエストが同じサーバに送られることが重要であり、必須であると言ってもよいでしょう。
パフォーマンスを向上させるために、バックエンド サーバは、ユーザーが要求したデータをキャッシュし、さらに、ユーザーが要求するであろう追加情報も事前にキャッシュします。サイズが大きなドキュメントのダウンロードなど、ユーザーにとっては1つのリクエストでも、実際には複数のリクエスト/レスポンスのトランザクションとして、クライアント/サーバ間で分解して送信されることはよくあります。要求した情報をユーザーが最も効率よく受け取る方法は、その情報を既にキャッシュしているサーバにアクセスすることです。
また、フォームへの入力、製品の購入、アカウントのアップグレードなど、複数のステップを必要とするトランザクションを行う場合を考えてみましょう。クライアントとサーバのデータ交換では、トランザクションを円滑に進めるために、コンテキストと呼ばれるセッションの状態情報を保存する必要があります。このような場合、セッション パーシステンスによって、トランザクションを非常に簡単に完了できるようになります。
ロード バランサやアプリケーション デリバリ コントローラ(ADC)は、サーバ グループの前に配置され、必要な期間中に特定のサーバにユーザー セッションを結びつけるロジックを実装します。
NGINX PlusとNGINXは、クラス最高レベルのロード バランシング ソリューションであり、Dropbox、Netflix、Zyngaなどの高トラフィックのWebサイトで使用されています。世界中で3億5,000万以上のWebサイトが、NGINX PlusとNGINX Open Sourceを利用してコンテンツを迅速に、確実に、そして安全に提供しています。
ソフトウェアベースのロード バランサであるNGINX Plusは、同様の機能を持つハードウェア ソリューションに比べて、はるかに低いコストで利用できます。NGINXは、Cookieやスティッキー ルートの使用といったいくつかの方法によりセッション パーシステンスをネイティブに管理します。