Node v0.12.2 では、クラスター モジュールはラウンドロビン (RR) 負荷分散をサポートします。これにより、以前の OS レベルの負荷分散よりも負荷が均等に分散されます。
だから今、私たちは選択のために甘やかされています:
SOに関するこの優れた投稿と他の 回答を認識していますが、RRモードで新しいクラスターモジュールに対処したものはありません。したがって、質問は次のように要約されます。
負荷分散機能のみで判断すると、またはを使用する必要がありますpm2
かnginx
?
Node v0.12.2 では、クラスター モジュールはラウンドロビン (RR) 負荷分散をサポートします。これにより、以前の OS レベルの負荷分散よりも負荷が均等に分散されます。
だから今、私たちは選択のために甘やかされています:
SOに関するこの優れた投稿と他の 回答を認識していますが、RRモードで新しいクラスターモジュールに対処したものはありません。したがって、質問は次のように要約されます。
負荷分散機能のみで判断すると、またはを使用する必要がありますpm2
かnginx
?
pm2
対するだけの場合nginx
は、nginxを選択してください。良い: 両方。ベスト: さらに広い設定。
最も成熟した負荷分散機能が必要な場合は、HAProxy
. それは最善を尽くすことです。SSL ターミネーション、ACL を取得でき、非常に軽量です。数字で証明することはできませんが、http リクエストのヒット率が最も低いと感じています。良い読み物はこれです。
(少なくとも一部の) 静的コンテンツも提供する必要がある場合、 goto オプションはnginx
、この分野での優れた機能を提供します。また、あなたのリストの中で、そのような機能を提供するのはこれだけです。それ自体を除いて、node
それは非常に貧弱です。
pm2
IMO は非常に重量感があり、より頻繁に壊れる傾向があります。プロセス負荷分散の機能は非常に優れており、ノード プロセスの稼働時間を確保します。抽象化しcluster
ます。
cluster
最小限に「固定されている」と感じます。これまでも、おそらく今も、OS レベルのサポートにより、異なるプラットフォームでは異なる動作が発生していました。たとえば、単一プロセスへの偏見です。
私の現在の設定は次のとおりです。
HAProxy
マシンごとのプロセスの複数のインスタンスのバランスを含む、クラスター全体の負荷分散用pm2
プロセス負荷分散用