セッションアフィニティとスティッキーセッションの違いは何ですか?


126

負荷分散サーバーのコンテキストでのセッションアフィニティスティッキーセッションの違いは何ですか?

回答:


82

これらの用語が同じ意味で使用されているのを見てきましたが、それを実装する方法はいくつかあります。

  1. 最初の応答でcookieを送信し、それ以降の応答でそれを探します。Cookieは、どの実サーバーに送信するかを示します。クッキーのないブラウザをサポートする必要がある場合は
    悪い
  2. リクエスターのIPアドレスに基づくパーティション。静的ではない場合、または同じプロキシを介して多数が
    受信される場合は、問題があります。
  3. ユーザーを認証する場合は、ユーザー名に基づいてパーティション分割します(これを行うには、HTTPでサポートされている認証モードである必要があります)。
  4. 状態は必要ありません。
    クライアントが任意のサーバーにアクセスできるようにします(状態をクライアントに送信し、クライアントに送信させます)
    これはスティッキーセッションではなく、実行する必要がないようにする方法です。

スティッキーがCookieの方法を参照し、一部のコンテキストではアフィニティが#2と#3を参照しているのではないかと思いますが、それは私がそれを使用した(または自分で使用した)方法ではありません。


6
リクエストが物理サーバーにバインドされている場合、そのサーバーに障害が発生するとどうなりますか?フェイルオーバーサーバーを含めるためにCookieを使用する戦略はありますか?
ラフィアン2013

2
サーバーに障害が発生すると、アプリケーションに障害が発生します。おそらく、再度ログインする必要があります。多分あなたはデータを失った。通常、ロードバランサーは別のサーバーを選択して続行しますが、一部の状態が失われます。これが受け入れられない場合は、DBまたは他のサーバーにできるだけ迅速に状態を取得するか、ステートレス戦略を採用する必要があります。
ルーフランコ

FWIW Herokuはそれらを反対と呼んでいます。Session AfifinityはCookieベースであり、スティッキをサポートしていません。devcenter.heroku.com/articles/session-affinity
RandallB

39

ロードバランシングシナリオで使用される用語はいつも聞いたことがあるので、それらは交換可能です。どちらも、セッションが開始されると、同じサーバーがそのセッションのすべての要求を処理することを意味します。


21

スティッキーセッションとは、クライアントからサイトにリクエストが送られると、それ以降のすべてのリクエストが、アクセスされた同じサーバーの初期クライアントリクエストに送られることを意味します。セッションアフィニティはスティッキーセッションの同義語だと思います。


13

彼らは同じです。

どちらも、ロードバランサーに入ると、要求は最初の要求を処理した(そしてセッションを持っている)サーバーに送信されることを意味します。


11

スティッキーセッションとは、特定のセッションの要求を、そのセッションの最初の要求を処理した同じ物理マシンにルーティングすることを意味します。


3

この記事では、私に対する質問を明確にし、他のタイプのロードバランサーの永続性について説明します。

Daveの考え:ロードバランサーの永続性(スティッキーセッション)


6
もはや利用できなくなっているようですが、Waybackマシンにコピー
Martin McNulty

12
これが、説明なしでリンクを投稿するだけではない理由です
フアンメンデス

上記のリンクのコンテンツ(現在は使用できません)がarchive.li/SG4fAに移動されていることがわかりました。これは、基本的にF5ロードバランサーでサポートされているさまざまな永続性タイプを一覧表示します。
aveek

0

それらは同義語です。全然違いなし

スティッキーセッション/セッションアフィニティ:

ユーザーセッションと、ユーザー要求の送信先のサーバーとの間のアフィニティ/粘着性/接触が保持されます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.