ホームページ  >  記事  >  運用・保守  >  nginx はどのようにして負荷分散を実現するのでしょうか?

nginx はどのようにして負荷分散を実現するのでしょうか?

(*-*)浩
(*-*)浩オリジナル
2019-11-01 10:25:175624ブラウズ

Nginx (「エンジン x」) は、ロシアのプログラマー Igor Sysoev によって開発された高性能 Web およびリバース プロキシ サーバーであり、IMAP/POP3/SMTP プロキシ サーバーでもあります。

nginx はどのようにして負荷分散を実現するのでしょうか?

#接続の同時実行性が高い場合、Nginx は Apache サーバーの良い代替手段となります。

負荷分散: 負荷分散も Nginx のよく使用される機能であり、サーバーの単位時間あたりのアクセス数が大きくなると、サーバーへの負荷も大きくなります。自身の耐久能力を超えると、サーバーはクラッシュします。サーバーのクラッシュを回避し、ユーザーにより良いエクスペリエンスを提供するために、負荷分散を使用してサーバーの負荷を分散します。 (推奨学習: nginx チュートリアル)

非常に多くのサーバーを構築してサーバー クラスターを形成できます。ユーザーが Web サイトにアクセスするとき、最初に中間サーバーにアクセスし、次にこれを実行します。サーバー上で動作する中間サーバー クラスタ内で負荷の少ないサーバーを選択し、そのサーバーにアクセス要求を導入します。

それ以来、ユーザーがアクセスするたびに、サーバー クラスター内の各サーバーの圧力のバランスが保たれるようになり、サーバーの圧力が共有され、サーバーのクラッシュが回避されます。負荷分散構成では通常、リバース プロキシを同時に構成し、リバース プロキシを介して負荷分散に移行する必要があります。

nginx は、次の 3 つの負荷分散メカニズムと方法を提供します。

ラウンドロビン - リクエストは循環的かつ循環的な方法でアプリケーション サーバーに分散されます。

least-connected — 次のリクエストは、アクティブな接続数が最も少ないサーバーに割り当てられます。

ip-hash — ハッシュ関数を使用して、次のリクエストの送信先を決定します。クライアント IP アドレス 配布先のサーバー。

デフォルトの負荷分散構成

http {
   upstream myapp1 {
       server srv1.example.com;
       server srv2.example.com;
       server srv3.example.com;
   }
  
   server {
       listen 80;
  
       location / {
           proxy_pass http://myapp1;
       }
   }
}

以上がnginx はどのようにして負荷分散を実現するのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。