スティッキセッションとスティッキーセッションの違いを知りたい。インターネットから読んだ後に私が理解したこと:スティッキーセッションと非スティッキーセッション
スティッキー:単一のセッションオブジェクトのみが存在します。
非スティッキーセッション:あなたのウェブサイトは、各ペアのために、唯一1 web server
によって提供されている各サーバーノード
スティッキセッションとスティッキーセッションの違いを知りたい。インターネットから読んだ後に私が理解したこと:スティッキーセッションと非スティッキーセッション
スティッキー:単一のセッションオブジェクトのみが存在します。
非スティッキーセッション:あなたのウェブサイトは、各ペアのために、唯一1 web server
によって提供されている各サーバーノード
のためのセッションオブジェクトは、セッションオブジェクトが作成され、Webサーバのメモリに残っています。クライアントからのすべての要求は、このWebサーバーに移動し、このセッションオブジェクトを更新します。一部のデータは、インタラクションの期間に渡ってセッションオブジェクトに格納する必要がある場合、このセッションオブジェクトに格納され、セッションが存在する限りそこにとどまります。
multiple web servers
のウェブサイトがload balancer
の背後にある場合、ロードバランサは、実際に(物理的な)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にデータを書き込んだり読み込んだりするのは良い考えではないかもしれません。ここでは、というスティッキーセッションの役割があります。 load balancer
にスティッキセッションを使用するように指示された場合、他のサーバーが存在していても、すべての対話はthe same physical server
で行われます。したがって、セッションオブジェクトは、このWebサイトとのやりとり全体を通して同じになります。
要約すると、スティッキーセッションの場合、すべてのリクエストは同じ物理Webサーバーに向けられますが、非スティッキーなロードバランサの場合はリクエストを処理するWebサーバーを選択できます。
例として、あなたはここでアマゾンのElastic Load Balancerのとスティッキーセッションについて読むことができる:http://aws.typepad.com/aws/2010/04/new-elastic-load-balancing-feature-sticky-sessions.html
私はここにいくつかの詳細と答え作った: https://stackoverflow.com/a/11045462/592477
をそれとも、そこにそれを読むことができます==>
loadbalancingを使用する場合は、複数のtomcatインスタンスがあり、負荷を分割する必要があることを意味します。
@TJ- 1つのノードが利用できない場合はどうなりますか? – gstackoverflow
ほとんどの場合、セッションは失われます。 [AWS ESB](http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/elb-sticky-sessions.html)の場合_インスタンスが失敗したり正常に動作しなくなった場合、ロードバランサはそのインスタンスへのルーティング要求を停止します代わりに、既存のロードバランシングアルゴリズムに基づいて新しい健全なインスタンスを選択します。ロードバランサは、新しい正常インスタンスにセッションが「スタック」したものとして扱い、失敗したインスタンスが戻ってきてもそのインスタンスにリクエストをルーティングし続けます。 –
LoadBalancerはどの情報に基づいてHTTPセッションをスティッキーにしますか?特にHTTPS接続ではこの問題が面白くなります。 LBにWebサーバーの秘密鍵を渡して、SSL接続を切断してHTTPセッションを取得できるようにしますか?あるいは、LBは単にクライアントのIPアドレスを利用するだけですか?この場合、複数のクライアントが同じIPアドレスを使用するプロキシサーバーはどうでしょうか?それとも、IPアドレスが頻繁に変わるモバイルクライアント?それとももっと良いテクニックがありますか?ありがとう – g000ze