8

Node v0.12.2 では、クラスター モジュールはラウンドロビン (RR) 負荷分散をサポートします。これにより、以前の OS レベルの負荷分散よりも負荷が均等に分散されます。

だから今、私たちは選択のために甘やかされています:

  1. クラスタモジュールを使用する
  2. pm2ボンネットの下でクラスターモジュールを使用する使用
  3. 使用するnginx
  4. HAProxyを使用する

SOに関するこの優れた投稿他の 回答を認識していますが、RRモードで新しいクラスターモジュールに対処したものはありません。したがって、質問は次のように要約されます。

負荷分散機能のみで判断すると、またはを使用する必要がありますpm2nginx?

4

1 に答える 1

4

TL;DR

pm2対するだけの場合nginxは、nginxを選択してください。良い: 両方。ベスト: さらに広い設定。

最も成熟した負荷分散機能が必要な場合は、HAProxy. それは最善を尽くすことです。SSL ターミネーション、ACL を取得でき、非常に軽量です。数字で証明することはできませんが、http リクエストのヒット率が最も低いと感じています。良い読み物はこれです。

(少なくとも一部の) 静的コンテンツも提供する必要がある場合、 goto オプションはnginx、この分野での優れた機能を提供します。また、あなたのリストの中で、そのような機能を提供するのはこれだけです。それ自体を除いて、nodeそれは非常に貧弱です。

pm2IMO は非常に重量感があり、より頻繁に壊れる傾向があります。プロセス負荷分散の機能は非常に優れており、ノード プロセスの稼働時間を確保します。抽象化しclusterます。

cluster最小限に「固定されている」と感じます。これまでも、おそらく今も、OS レベルのサポートにより、異なるプラットフォームでは異なる動作が発生していました。たとえば、単一プロセスへの偏見です。

私の現在の設定は次のとおりです。

  • HAProxyマシンごとのプロセスの複数のインスタンスのバランスを含む、クラスター全体の負荷分散用
  • 静的コンテンツの CDN (例: Cloudinary )
  • pm2プロセス負荷分散用
于 2015-09-14T07:07:06.630 に答える