スティッキー セッションと非スティッキー セッションの違いを知りたいです。インターネットから読んだ後に私が理解したこと:
Sticky : 単一のセッション オブジェクトのみが存在します。
Non-sticky session : 各サーバー ノードのセッション オブジェクト
スティッキー セッションと非スティッキー セッションの違いを知りたいです。インターネットから読んだ後に私が理解したこと:
Sticky : 単一のセッション オブジェクトのみが存在します。
Non-sticky session : 各サーバー ノードのセッション オブジェクト
Web サイトが 1 つの Web サーバーのみによって提供されている場合、クライアントとサーバーのペアごとにセッション オブジェクトが作成され、Web サーバーのメモリに残ります。クライアントからのすべての要求は、この Web サーバーに送られ、このセッション オブジェクトを更新します。インタラクションの期間中に一部のデータをセッション オブジェクトに保存する必要がある場合、そのデータはこのセッション オブジェクトに保存され、セッションが存在する限りそこにとどまります。
ただし、Web サイトがロード バランサーの背後にある複数の Web サーバーによってサービスを提供されている場合、ロード バランサーは、各要求がどの実際の (物理) Web サーバーに送信されるかを決定します。たとえば、ロード バランサーの背後に 3 つの Web サーバー A、B、および C がある場合、www.mywebsite.com はサーバー A から提供され、www.mywebsite.com はサーバー B から提供され、www.mywebsite.com が提供される可能性があります。 / サーバー C から提供されます。
ここで、要求が (物理的に) 3 つの異なるサーバーから処理されている場合、各サーバーはセッション オブジェクトを作成しており、これらのセッション オブジェクトは 3 つの独立したボックスにあるため、セッション オブジェクトの内容を直接知る方法はありません。もう一方の。これらのサーバー セッション間で同期するには、DB のようなすべてに共通のレイヤーにセッション データを読み書きする必要がある場合があります。このユースケースでデータベースとの間でデータを読み書きすることは、良い考えではないかもしれません。さて、ここでsticky-sessionの役割が来ます。
ロード バランサーがスティッキー セッションを使用するように指示されている場合、他のサーバーが存在していても、すべてのやり取りは同じ物理サーバーで行われます。したがって、セッション オブジェクトは、この Web サイトとのやり取り全体を通じて同じになります。
要約すると、スティッキー セッションの場合、すべてのリクエストは同じ物理 Web サーバーに送信されますが、非スティッキー ロード バランサーの場合、リクエストを処理する Web サーバーを選択できます。
例として、Amazon の Elastic Load Balancer とスティッキー セッションについては、http: //aws.typepad.com/aws/2010/04/new-elastic-load-balancing-feature-sticky-sessions.htmlを参照してください。