、ip_hashの2つのセッション保持方法のNginxリバースプロキシ実装:同じアドレスのハッシュアルゴリズムを使用して、同じクライアントから同じバックエンドサーバーにリクエストを送信します。サーバーが利用できない場合を除きます。

ip_hash構文:

アップストリームバックエンド{ip_hash;サーバーbackend1.example.com;サーバーbackend2.example.com;サーバーbackend3.example.com down;サーバーbackend4.example.com;} 

ip_hashは使いやすいですが、次のような問題があります:

  • バックエンドサーバーがダウンするとセッションが失われます;
  • 同じLANからのクライアントはに転送されます同じバックエンドサーバーが負荷の不均衡を引き起こす可能性があります。
  • はCDNネットワークには適用されず、前の段落のエージェントの場合には適用されません。

    次に、sticky_cookie_insert:

    sticky_cookie_insertを使用してセッションアフィニティを有効にします。これにより、同じクライアントからの要求がサーバーグループ上の同じサーバーに配信されます。 ip_hashとの違いは、クライアントを判断するためにIPに基づいているのではなく、cookieに基づいていることです。したがって、上記のip_hashでは、同じローカルエリアネットワークからのクライアントとフロントエージェントによる負荷の不均衡を回避することができます。

    構文:

    アップストリームバックエンド{server backend1.example.com; server backend2.example.com; sticky_cookie_insert srv_id expires = 1h domain = xxxx.com path = /;} 

    説明:

  • 有効期限:ブラウザにCookieを保持する時間の設定
  • domain:Cookieを定義するフィールド
  • path:Cookieのパスを定義する

    さらに、バックエンドサーバー自体を使用して、関連メカニズムを通じてセッション同期を維持することもできます。これについては後で詳しく説明します。

  • Copyright © Windowsの知識 All Rights Reserved