回答:
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のように、すべてのユーザーに共通のレイヤーにセッションデータの書き込み/読み取りを行う必要がある場合があります。このユースケースのために、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
私はここでいくつかの詳細で答えを出しました:https: //stackoverflow.com/a/11045462/592477
または、そこで読むことができます==>
ロードバランシングを使用する場合、tomcatのインスタンスが複数あり、負荷を分割する必要があることを意味します。