所以我是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,我尝试阅读,但我无法理解任何事情,如果有人能指出我在这里发生什么,这将是一个很大的帮助。 我知道节点实例的核心数量会越多,但我想现在它从我的系统中恢复,在生产中会发生什么?。
答案 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 ?如果没有看到整个应用程序代码,我们无法真正说出来。