この答えによると:
1つのボックスで複数のノードサーバーを実行し、コアごとに1つ実行し、それらの間でリクエストトラフィックを分割する必要があります。これにより、優れたCPUアフィニティが提供され、コア数にほぼ比例してスループットが向上します。
わかりました。簡単にするために、ボックスに2つのコアがあるとします。
Hello World
NGINXを使用して2つのノードサーバー間で負荷分散されているアプリの完全な例が必要です。
これには、NGINX構成も含まれている必要があります。
app.js
var http = require('http');
var port = parseInt(process.argv[2]);
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
}).listen(port);
console.log('Server running at http://localhost:' + port + '/');
nginx構成
upstream app {
server localhost:8001;
server localhost:8002;
}
server {
location / {
proxy_pass http://app;
}
}
アプリを起動する
node app.js 8001
node app.js 8002
追加の読み物