2016-11-04 6 views
2

マルチコアマシンでスケールしたいと思っています。 clusterライブラリを使用することもできますが、複数のサーバーを実行するだけで、より簡単な方法でこれを実行できるかどうかを知りたいと思います。複数のNode.jsスクリプトを実行すると、自動的に複数のコアに分散されますか

だから私が知りたいのは、Node.jsが自動的にサーバーを複数のコアに分散させるのかということです。したがって、5つのコアと5つのサーバーがある場合、各サーバーは各コアで実行されます。

もしそうなら、これはマルチコアマシン上で実行可能な方法でしょうか?

+1

次の2点を検討する必要があります。(1)システムプロセスと、OSが使用可能なコア全体でプロセスの実行をスケジュールする方法を理解していますか? (2)同じアプリケーションの複数のサーバーを実行するという独自の仮説を試しましたか? –

+0

[マルチコアマシン上のNode.js](http://stackoverflow.com/questions/2387724/node-js-on-multi-core-machines?rq=1)を参照してください。二番目の答え。 – 108

+0

@ 108第2の回答:「複数のNode.jsサーバーをコアごとに1つのボックスで実行する」。自動であることを意味しますか?あるいはこれが起こるために特に何かをしていますか? (また、バージョン固有ですか?) –

答えて

2

実際、ノードアプリケーションの複数のインスタンスを実行するだけで、複数のプロセスが使用されます。

ただし、クラスタオプションにはわずかな利点があります。これは、TcpIPポートでリッスンするものであれば、クラスタは単一のIPポートを共有できます。あなたがポート80でWebサーバーを稼働していたとしたら、ポート80で実行されるすべてのコアを使用することができます。

ポート80でリバースプロキシを実行し、ポート。 IOW:クラスターオプションは、リバースプロキシを作成するのに最適です。:)

上記の利点は、リバースプロキシは本当に状態を維持する必要はないことです。これはノードアプリケーションを残すので、状態を保持することができます。メモリのキャッシュされた応答など。ノードの大きな利点は、処理中の要求であり、特別なipcは必要ありません。

関連する問題