mongodb中的群集以及它如何获取核心

时间:2017-03-02 15:19:57

标签: node.js mongodb sequelize.js

所以我是cluster和mongodb的新手,我遇到了这堆代码。

#!/usr/bin/env node
var cluster = require('cluster');
var os = require('os');
var app = require('../main')
var models = require("../models");


if(cluster.isMaster){
  var mCoreCount = os.cpus().length;
  console.log("Cores : ", mCoreCount);

  for (var i = 0; i < mCoreCount; i++) {
    cluster.fork();
  }

  cluster.on('exit', function(){
    cluster.fork();
  });
}else{
    models.sequelize.sync().then(function(){
      app.listen(app.get('port'), function(){
        console.log('api is live.' + app.get('port'));
      });
    });
}

因此,当我安慰我时,我将核心视为4,我尝试阅读,但我无法理解任何事情,如果有人能指出我在这里发生什么,这将是一个很大的帮助。 我知道节点实例的核心数量会越多,但我想现在它从我的系统中恢复,在生产中会发生什么?。

1 个答案:

答案 0 :(得分:1)

此脚本试图通过为硬件服务器上的每个可用核心创建fork来更有效地启动 NodeJS 应用程序。
它使用IF([Month (Calculated)]="1","January",IF([Month (Calculated)]="2","February",IF([Month (Calculated)]="3","March",IF([Month (Calculated)]="4","April",IF([Month (Calculated)]="5","May","No date")))))

获取核心数量

在生产中,它将附加相同的进程,fork的数量将取决于可用核心生产服务器的数量。

您是否确定两个环境中的数据库都是 MongoDB ?如果没有看到整个应用程序代码,我们无法真正说出来。