我是否必须在节点 js 应用程序中创建与集群的不同数据库连接?
Do I have to create different database connection to clusters in node js app?
我正在使用 express.I 开发节点应用程序听说集群是提高应用程序性能的好方法。所以我尝试了这种方式,
if(cluster.isMaster){
debug(`Master ${process.pid} is running`);
// Fork works
for (let i =0;i<numCPU;i++){
cluster.fork();
}
cluster.on('exit',(worker,code,signal)=>{
debug(`Worker ${worker.process.pid} died.`);
});
}else{
var app = require('../app');
app.set('port', port);
var server = http.createServer(app);
database.connect(function (err) {
if (err){
debug('Unable to connect MongoDB');
process.exit(1);
}else{
server.listen(port);
}
});
server.on('error', onError);
debug(`Worker ${process.pid} start`);
}
我的问题是,在使用集群之前,我在一开始就创建了 Mongo 连接并使用数据库即时。但是现在我每次都重复创建集群。我觉得我做了一些无用的事情,但我不知道如何解决。如果这种创建数据库的方式是错误的,我该如何解决?或者我应该为每个集群创建数据库连接,那么这个方法是否正确?
我想我从讲师那里得到了答案。现在我知道集群并不意味着它运行多个应用程序,而是提供多个连接。所以我们不必为每个集群创建连接或单独考虑每个集群。我们要做的是创建应用程序并让集群管理器做剩下的事情...
我正在使用 express.I 开发节点应用程序听说集群是提高应用程序性能的好方法。所以我尝试了这种方式,
if(cluster.isMaster){
debug(`Master ${process.pid} is running`);
// Fork works
for (let i =0;i<numCPU;i++){
cluster.fork();
}
cluster.on('exit',(worker,code,signal)=>{
debug(`Worker ${worker.process.pid} died.`);
});
}else{
var app = require('../app');
app.set('port', port);
var server = http.createServer(app);
database.connect(function (err) {
if (err){
debug('Unable to connect MongoDB');
process.exit(1);
}else{
server.listen(port);
}
});
server.on('error', onError);
debug(`Worker ${process.pid} start`);
}
我的问题是,在使用集群之前,我在一开始就创建了 Mongo 连接并使用数据库即时。但是现在我每次都重复创建集群。我觉得我做了一些无用的事情,但我不知道如何解决。如果这种创建数据库的方式是错误的,我该如何解决?或者我应该为每个集群创建数据库连接,那么这个方法是否正确?
我想我从讲师那里得到了答案。现在我知道集群并不意味着它运行多个应用程序,而是提供多个连接。所以我们不必为每个集群创建连接或单独考虑每个集群。我们要做的是创建应用程序并让集群管理器做剩下的事情...