var cluster=rquire('cluster');
var http=require('http');
var numCPU=require('OS'cpus().length;//获得cpu 数量
if(cluster.isMaster){
require('OS').cpus().forEach(function(){
cluster.fork();
});
cluster.on('exit',function(worker,code,single){
console.log('work'+worker.process.pid+'died');
});
cluster.on('listening',functon(worker,address){
console.log('A work with'+ worker.id+'is now connected to'+address.address+","+address.port)
});
}
else{
var server=http.createserver(app);
server.listen(...);
console.log(...);
}
进程通讯
if(cluseter.isMaster){
var worker_process=cluster.fork();
worker.process.on('message',function(msg){
if(msg.cmd==''){
}
}
else{
process.send({cmd:'notifRequest'});
}
本文介绍了一个使用Node.js的集群模块实现服务器进程管理的例子。通过获取系统CPU核心数并据此创建相应数量的工作进程来最大化资源利用。同时实现了进程间的通信机制。
2111

被折叠的 条评论
为什么被折叠?



