我有一个带有群集的节点应用。我想将数据库连接的数量保持为1,但我找不到将数据库实例从主线程传递给子节点的方法。
代码看起来像这样。
const express = require('express'),
cluster = require('cluster'),
numCPUs = require('os').cpus().length,
exec = require('child_process').exec,
app = express(),
dbInstance = require('./mongodb').getInstance;
if (cluster.isMaster) {
for (let i = 0; i < numCPUs; i++) {
cluster.fork();
}
else if (cluster.isWorker) {
app.listen(4000);
}
为所有工作人员调用db实例,最终得到8个实例。我怎么能在主人那里做一次呢?
此外,如果我杀死其中一个工作人员,dbConnection仍会处于活动状态还是会自动关闭?