一个集群在Node.js使用教程

一个集群在Node.js使用教程
本文主要介绍了集群在Node.js使用的相关教程分享出来供大家参考。下面是下面的详细介绍:

1。在节点中使用多核CPU
VaR集群=需要('cluster);
var http =需要('http');
无功numcpus =需要('os)。CPU(长度);
如果(集群。是大师){
创建工作流程
对于(var i = 0;i < numcpus;i++){
Cluster.fork();
}
Cluster.on(死亡,功能(工人){
console.log('worker + worker.pid +‘死');
(集群.叉);重新启动过程
});
{人}
创建HTTP服务进程
HTTP服务器(功能(REQ,RES){
(200)res.writehead;
res.end(你好世界;
}听(8000);
}
两。通过消息传递监视工作过程的状态
VaR集群=需要('cluster);
var http =需要('http');
无功numcpus =需要('os)。CPU(长度);
无功rsswarn =(12×1024×1024)
heapwarn =(10×1024×1024)
如果(集群。是大师){
对于(var i = 0;i < numcpus;i++){
VaR的工人= cluster.fork();
worker.on(消息功能(M){
如果(m.memory){
console.log(m.memory.rss,rsswarn)
如果(m.memory.rss > rsswarn){
console.log('worker +过程+ M.使用太多内存。)
}
}

})
}
{人}
服务器
http.createserver(功能(REQ,RES){
(200)res.writehead;
res.end(你好世界')
}听(8000)
第二个报告状态
setInterval(功能报告(){)
process.send({内存:process.memoryusage(),过程:过程。PID });
},1000)
}
三。杀死僵尸进程
VaR集群=需要('cluster);
var http =需要('http');
无功numcpus =需要('os)。CPU(长度);
无功rsswarn =(50×1024×1024)
heapwarn =(50×1024×1024)
var工作者= { }
如果(集群。是大师){
对于(var i = 0;i < numcpus;i++){
CreateWorker()
}
setInterval(){()函数
VAR时间=新的日期()GetTime()。
对于(工人中的PID){
如果(workers.hasownproperty(PID))
工人{ PID }。lastcb+5000<时间){
console.log(职工+运行PID +杀)
工人worker.kill(){ PID }。
删除工人{ } }
CreateWorker()
}
}
},1000)
{人}
服务器
HTTP服务器(功能(REQ,RES){
200 在请求1中打乱
如果(Math.floor(数学。随机)(* 200)= = = 4){
console.log('stopped + process.pid +从整理的)
当(true){继续}
}
(200)res.writehead;
res.end('Hello World'+ process.pid + ')
}听(8000)
状态报告每秒
setInterval(功能报告(){)
process.send({命令:reportmem
过程:过程。
},1000)
}
功能createworker(){
VaR的工人= cluster.fork()
console.log('created工人:+工人。PID)
允许/引导时间
工人{ } = {工人。PID工人:工人,lastcb:新的日期()GetTime()GetTime()1000 }。
worker.on(消息功能(M){
如果(m.cmd = reportmem){
工人m.process } {。lastcb =新的日期()GetTime()。
如果(m.memory.rss > rsswarn){
console.log('worker +过程+ M.使用太多内存。)
}
}
})
}
总结

以上就是本文的全部内容。希望本文的内容能给大家的学习或工作带来一定的帮助。如果有任何疑问,您可以留言交流,谢谢您的支持
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部