NodeJS+Sequelize在生产环境下,最合适的建立连接池的方式是?
看官网文档里提到关于多进程的情况下,必须为每一个进程都创建sequelize实例:
If you’re connecting to the database from multiple processes, you’ll have to create one instance per process, but each instance should have a maximum connection pool size of such that the total maximum size is respected.
生产环境下,肯定是多负载多进程的情况,并且一般用cluster模块去进行进程处理
if (cluster.isMaster) {
for (var i = 0; i < env.CPU; i++) {
cluster.fork();
}
cluster.on('fork', worker => {
log(`worker ${worker.process.pid} forked success`, 'info', logOptions);
});
cluster.on('online', worker => {
log(`worker ${worker.process.pid} responded after it was forked`, 'info', logOptions);
});
cluster.on('exit', function (worker, code, signal) {
log(`worker ${worker.process.pid} died (${signal || code})`, 'warn', logOptions);
cluster.fork();
});
} else {
require('../app.js');
}
想请教下这种情况下,Sequelize的实例初始化应该在什么阶段?