スティッキーセッションとノンスティッキーセッションの違いを知りたい。私がインターネットから読んだ後に私が理解したこと:
スティッキー:単一のセッションオブジェクトだけが存在します。
非スティッキーセッション:各サーバーノードのセッションオブジェクト
Webサイトが1つのWebサーバーによってのみ提供されている場合は、クライアントとサーバーのペアごとにセッションオブジェクトが作成され、Webサーバーのメモリに残ります。クライアントからのすべての要求はこのWebサーバに行き、このセッションオブジェクトを更新します。対話期間中にデータをセッションオブジェクトに格納する必要がある場合、そのデータはこのセッションオブジェクトに格納され、セッションが存在する限りそこに残ります。
ただし、ロードバランサーの背後にある複数のWebサーバーによってWebサイトが提供されている場合、ロードバランサーはどの実際の(物理的な)Webサーバーがそれぞれの要求に進むべきかを決定します。たとえば、ロードバランサーの背後に3つのWebサーバーA、B、Cがある場合、www.mywebsite.com/index.jspはサーバーAから提供され、www.mywebsite.com/login.jspは次のサイトから提供される可能性があります。サーバーBとwww.mywebsite.com/accoutdetails.phpはサーバーCから提供されます。
ここで、要求が(物理的に)3つの異なるサーバーから処理されている場合、各サーバーはセッションオブジェクトを作成しています。これらのセッションオブジェクトは3つの独立したボックスに配置されています。他の。これらのサーバーセッションを同期させるためには、セッションデータを全員共通のレイヤー(DBなど)に書き込み/読み取りする必要があります。このユースケースでは、データベースとの間でデータの読み書きを行うことはお勧めできません。さて、ここにスティッキーセッションの役割があります。
ロードバランサーがスティッキーセッションを使用するように指示されている場合、他のサーバーが存在していても、すべての対話は同じ物理サーバーで行われます。したがって、あなたのセッションオブジェクトは、このWebサイトとの対話全体を通して同じになります。
要約すると、スティッキーセッションの場合、すべての要求は同じ物理Webサーバーに送信されますが、非スティッキーロードバランサーの場合は、要求を処理するWebサーバーを選択できます。
例として、あなたはここでAmazonのElastic Load Balancerとスティッキーセッションについて読むかもしれません: http://aws.typepad.com/aws/2010/04/new-elastic-load-balancing-feature-sticky-sessions .html
私はここでもう少し詳細に答えをしました: https://stackoverflow.com/a/11045462/592477
それとも読むことができます==>
負荷分散を使用するとき、それはあなたがTomcatのいくつかのインスタンスを持っていて、あなたが負荷を分割する必要があることを意味します。