我正在读取nodejs集群以运行节点应用程序的多个实例
const cluster = require('cluster');
const http = require('http');
const numCPUs = require('os').cpus().length;
if (cluster.isMaster) {
console.log(`Master ${process.pid} is running`);
for (let i = 0; i < numCPUs; i++) {
cluster.fork();
}
cluster.on('exit', (worker, code, signal) => {
console.log(`worker ${worker.process.pid} died`);
});
}
else {
http.createServer((req, res) => {
res.writeHead(200);
res.end('hello world\n');
}).listen(8000);
console.log(`Worker ${process.pid} started`);
}
在生产环境中使用这种方法是很好的。当请求数较多时
发布于 2017-07-09 22:34:13
您可以使用pm2/strongloop循环来管理this.Because,所有这些模块都是生产就绪的,并且非常容易管理。
我个人觉得pm2在管理节点进程方面很棒。
使用以下链接了解有关pm2 http://pm2.keymetrics.io/的更多信息
发布于 2019-01-26 20:27:56
可以,只要您正在计算cpu长度,就可以使用群集
const numCPUs = require('os').cpus().length;
for (let i = 0; i < numCPUs; i++) {
cluster.fork();
}
集群不会创建超过cpu长度的进程
但是,如果集群管理不当,将会减慢整个应用程序的进程
https://stackoverflow.com/questions/44997161
复制相似问题