2017-12-08 6 views
0

Windows7のタスクマネージャには1つのノードプロセスしかありません。驚き。 nodejsがこれを達成する方法と、違いのプロセスでサーバーを分割するとどういう違いがありますか?ありがとう。1つのプロセスで2つ以上のhttpサーバ(ポートが異なる)を実行できます。

http.createServer(function(req, res) { 
    res.writeHead(200, {'Content-Type': 'text/plain'}); 
    res.end('Hello World'); 
}).listen(5000, '127.0.0.1'); 

http.createServer(function(req, res) { 
    res.writeHead(200, {'Content-Type': 'text/plain'}); 
    res.end('Hello World2'); 
}).listen(5001, '127.0.0.1'); 

http.createServer(function(req, res) { 
    res.writeHead(200, {'Content-Type': 'text/plain'}); 
    res.end('Hello World3'); 
}).listen(5002, '127.0.0.1'); 

答えて

0

単一のプロセスは、OSが許可するソケットをいくつでも開くことができます。すでに別のソケットで取得されているポートでソケットを開こうとしない限り、

1つの違いは、3つのサーバーすべてに対して1つのスレッドではなく、各サーバーに対して1つのスレッドが実行されていることです。パフォーマンスに問題がある場合は、これは関連性があります。

0

マルチタスクシステムがあり、nodejsにはポートごとに1つ以上のスレッドを設定できます。

単一のnodejsプロセスで複数のポートを処理する利点は、わずかなRAMを節約できることです。

1つのサーバーがクラッシュすると、両方の「サーバー」が影響を受ける可能性があるという欠点があります。

関連する問題