首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在生产中使用nodejs集群?

在生产中使用nodejs集群?
EN

Stack Overflow用户
提问于 2017-07-09 21:56:17
回答 2查看 304关注 0票数 0

我正在读取nodejs集群以运行节点应用程序的多个实例

代码语言:javascript
运行
复制
    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`);
     }

在生产环境中使用这种方法是很好的。当请求数较多时

EN

回答 2

Stack Overflow用户

发布于 2017-07-09 22:34:13

您可以使用pm2/strongloop循环来管理this.Because,所有这些模块都是生产就绪的,并且非常容易管理。

我个人觉得pm2在管理节点进程方面很棒。

使用以下链接了解有关pm2 http://pm2.keymetrics.io/的更多信息

票数 1
EN

Stack Overflow用户

发布于 2019-01-26 20:27:56

可以,只要您正在计算cpu长度,就可以使用群集

代码语言:javascript
运行
复制
const numCPUs = require('os').cpus().length;

for (let i = 0; i < numCPUs; i++) {
  cluster.fork();
}

集群不会创建超过cpu长度的进程

但是,如果集群管理不当,将会减慢整个应用程序的进程

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44997161

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档