pomelo 如何只初始化一个数据库连接池,为所有进程共用?

pomelo 项目启动时初始化连接池,每个进程都新建了一个连接池,如何只初始化一个连接池,为所有进程共用?

标签: pomelo 开发求助
Sailor 在 5-9 14:36发布 分享到 weibo
4 回复
#1 MissLee 5-10 17:31 回复

这块我一直不懂,顺便问,io用到cpu了吗,能同时执行多少个线程

#2 Sailor 5-10 18:17 回复

其实每个进程初始化一个连接池也可以,只是要控制每个连接池的最大数量,不然数据库的链接很容易被耗完,目前想到的方案是把连接池放在主进程中,不过会导致进程直接消耗差别较大

#3 {1} maiduo 5-11 11:13 回复

每个server启动的时候都要跑一遍app.js。。。所以理论上每个服都会连接mysql

Sailor 5-17 12:12 回复

是的,连接池无法做到进程间共享,因此我现在是降低连接池最大连接数,均衡的分配下

#4 {1} reerayxia 5-17 12:32 回复

看你怎么配置服务器了,你可以只是将某个服务器配置SQL的

app.configure('production|development', 'auth', function() {
    // load session congfigures
    app.set('session', require('./config/session.json'));
    app.loadConfig('mysql', app.getBase() + '/../shared/config/mysql.json');
});
Sailor 5-18 12:10 回复

此法只能在auth中使用连接池,这样就不能满足需求了

回到顶部