我是Nodejs的新手,我尝试在nodejs上使用集群。但我遇到了一个问题: - 我在Nodejs API上使用关于Cluster的例子:
var cluster = require('cluster');
var http = require('http');
var numCPUs = require('os').cpus().length;
if (cluster.isMaster) {
// Fork workers.
for (var i = 0; i < numCPUs; i++) {
cluster.fork();
}
cluster.on('exit', function(worker, code, signal) {
console.log('worker ' + worker.process.pid + ' died');
});
} else {
// Workers can share any TCP connection
// In this case its a HTTP server
http.createServer(function(req, res) {
res.writeHead(200);
res.end("hello world\n");
}).listen(8000);
}
如何让此服务器响应请求?
p / s:我尝试将事件“退出”重新生成新员工。有时当我在浏览器上输入时,控制台日志工作者x死亡然后重新生成新工作者。但是浏览器还在连接...
http://i.stack.imgur.com/RHSYY.png
帮帮我:)抱歉我的英文不好
我安装了最新版本的nodejs(v0.10.24)
答案 0 :(得分:0)
我遇到了与群集类似的问题。尝试将http服务器创建部分放在setTimeout调用中。 (例如延迟1000毫秒)你应该观察到一个改进。
setTimeout(function(){ http.createServer...... }, 1000);
此外,您还可以尝试使用jxcore mt-keep创建服务器,以查看它是否适用于类似情况。
$ jx mt-keep servercode.js