セッションでのNginxの負荷分散


0

nginxでの負荷分散の設定は非常に簡単で、試してみたいと思いました。私の唯一の懸念はセッションについてです。nginxを利用して、クライアントからのすべての後続の呼び出しを同じサーバーにルーティングしてセッションのスティッキ性を実現するにはどうすればよいですか?

ありがとう

回答:



1

別の方法として、Nginx Sticky Moduleを見ることができます

複数のバックエンドサーバーを扱う場合、1つのクライアント(ブラウザー)が常に同じバックエンドサーバーによって処理されると便利な場合があります(セッションの永続性など)。

IPによる永続性(ip_hashアップストリームモジュール)を使用することは、多くの異なるブラウザーが同じIPアドレス(プロキシの背後)で来ており、負荷分散システムが公平ではない可能性があるため、良いアイデアではないかもしれません。

Cookieを使用してアップストリームサーバーを追跡すると、各ブラウザーが一意になります。

スティッキーモジュールを適用できない場合は、従来のラウンドロビンアップストリームに戻るか、「Bad Gateway」を返します(no_fallbackフラグに応じて)。

Cookieがブラウザでサポートされていない場合、スティッキーモジュールは適用できません


0

ip_hashは、セッションのnginxの負荷分散ルールです。ただし、nginxサーバーは実際のIPを取得する必要があります。squidをフロントサーバーとして使用する場合、nginxサーバーはsquidのIPを取得します。次に、nginxは実サーバーに指示する必要があります。nginxサーバーの後に他の負荷分散サーバーがある場合、セッションは同じ実サーバーで送信されません。

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