15

cluster.forkを使用すると、複数のプロセスが同じポートでリッスンできることを理解しています。また、一部のワーカーがtcpのリスナー/ハンドラーではない場合に、これをサポートするために追加のオーバーヘッドがどれだけあるかを知りたいと思います。サービス?

いくつかのワーカーを起動したいサービスがあります。例:2つのWebサービスリスナープロセスと3つのワーカーインスタンス。それらすべてにクラスターを使用するのが最善ですか、それとも2つのWebサービスにクラスターを使用し、ワーカーのchild_processの方が優れていますか?

ノードの内部はわかりませんが、自分や他の人が、さまざまなニーズに応じてどのルートを取るべきかをよりよく理解できればいいと思います。今のところ、私はすべてのプロセスにクラスターを使用しています。

4

2 に答える 2

23

cluser.forkの上に実装されchild_process.forkます。もたらす追加の機能cluster.forkは、共有ポートでリッスンできるようになることです。不要な場合は、を使用してchild_process.forkください。そうですね、Webサーバーにはclusterを使用し、ワーカーにはchild_processを使用します。

于 2013-05-25T09:31:22.873 に答える
0

ClusterはNode.jsのモジュールであり、開発者がマルチコアシステムを利用できるプロセスをフォークするのに役立つ関数とプロパティのセットが含まれています。クラスタモジュールを使用すると、子プロセスといくつかの部分の作成と共有が簡単になります。シングルスレッドでは、node.jsの個々のインスタンスが具体的に実行され、さまざまなエコシステムを利用するために、node.jsのクラスターが起動されて負荷が分散されます。

開発者は、child_processモジュールによってオペレーティングシステムの機能にアクセスできます。これは、子プロセス内で任意のシステムコマンドを実行することによって行われます。子プロセスの入力ストリームを制御でき、開発者は出力ストリームをリッスンすることもできます。子プロセスは、ノードのchild_processモジュールを使用して簡単にスピンでき、これらの子プロセスは、メッセージングシステムを使用して相互に簡単に通信できます。

于 2020-08-20T18:32:00.360 に答える