有至少两个问题哈: 1、nodejs服务如何做多服务器集群/负载均衡? 2、nodejs服务的高可用性如何? 比如说nodejs其中一台服务器接收到了1000个请求在排队处理,在处理第一次请求的时候服务器突然挂掉了,那后999个请求怎么办?nodejs服务器重启后会重新处理这1000个请求吗? 处理机制是什么呢(序列化到硬盘再恢复吗)?
11 回复
@xuhaijinsky2008 如果用node-cluster的话应该带有灾难恢复的功能吧。如果你用其他的可以用forever做灾难恢复。我用了一种简单的守护进程的方式,但是这种方式很暴力,不推荐生产使用,代码如下: function start(){ console.log(‘Mother process is running.’); var ls = spawn('node’, [‘app.js’]); ls.stdout.on('data’, function (data) { console.log(data.toString()); });
ls.stderr.on('data', function (data)
{
console.log(data.toString());
});
ls.on('exit', function (code)
{
console.log('child process exited with code ' + code);
delete(ls);
ls= null;
setTimeout(start,3000);
});
}