ホームページ  >  記事  >  運用・保守  >  nginx が負荷分散を実装するためのモードは何ですか?

nginx が負荷分散を実装するためのモードは何ですか?

王林
王林転載
2020-06-24 17:28:387890ブラウズ

この記事は nginx チュートリアルから引用したものです。負荷分散を実現するための nginx のいくつかのモードが紹介されています。一定の参考値があり、皆さんのお役に立てれば幸いです。 nginx はロード バランシング モードを実装しています: 1. ポーリング、2. ip_hash、3. url_hash、4. フェア。

nginx が負荷分散を実装するためのモードは何ですか?

(推奨チュートリアル: nginx チュートリアル)

nginx には、負荷分散を実装するためのいくつかのモードがあります。

1. ポーリング

##各リクエストは、時系列順に異なるバックエンド サーバーに 1 つずつ割り当てられ、これは nginx のデフォルト モードでもあります。ポーリング モードの設定は非常に簡単で、上流モジュールにサーバー リストを追加するだけです。

次の構成は、負荷に 3 つのサーバーが存在することを意味します。リクエストが到着すると、nginx はそのリクエストを時系列順に 3 つのサーバーに割り当てます。

upstream serverList {
    server 1.2.3.4;
    server 1.2.3.5;
    server 1.2.3.6;
    }

2. ip_hash

各リクエストはアクセスした IP のハッシュ結果に従って割り当てられ、常に同じ IP クライアントがバックエンド サーバーにアクセスします。同じ IP からのリクエストが確実に固定マシンに送信されるため、セッションの問題が解決されます。

次の構成は次のことを指します: 負荷には 3 つのサーバーがあります。リクエストが到着すると、nginx は ip_hash の結果に従って割り当てを優先します。つまり、同じ IP に対するリクエストは 1 つのサーバーに固定されます。リクエストを ip_hash の結果に応じて特定のサーバーに割り当て、時系列に 3 つのサーバーにリクエストを分散して処理します。

upstream serverList {
    ip_hash
    server 1.2.3.4;
    server 1.2.3.5;
    server 1.2.3.6;
}

3. url_hash

アクセスされた URL のハッシュ結果に応じてリクエストが割り当てられ、常に同じ URL が同じバックエンド サーバーに転送されて処理されます。 。

upstream serverList {
    server 1.2.3.4;
    server 1.2.3.5;
    server 1.2.3.6;
    hash $request_uri; 
    hash_method crc32; 
}

4, Fair

リクエストはバックエンドサーバーの応答時間に応じて割り当てられ、応答時間の短いリクエストが最初に割り当てられます。

rree

以上がnginx が負荷分散を実装するためのモードは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はjuejin.imで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。