在 mongodb-native NodeJS 中为每个子进程使用集群的单个连接池与多个连接池

Posted

技术标签:

【中文标题】在 mongodb-native NodeJS 中为每个子进程使用集群的单个连接池与多个连接池【英文标题】:Use single connection pool for cluster vs multiple connection pool for each child process in mongodb-native NodeJS 【发布时间】:2014-06-22 17:51:57 【问题描述】:

我正在实现一个 nodejs 服务器,它使用 mongodb 作为数据库和 mongodb-native 库来连接它。

此外,我正在使用集群来提高服务器性能。所以有两种可能的方式来使用mongodb-native驱动的连接池;

    创建单个连接池并在创建它们时将其传递给每个子进程(单例模式) 子进程创建后,内部创建连接池

那么,我的问题是,其中两种方法中最好的方法是什么?或者有没有其他好的方法?

【问题讨论】:

【参考方案1】:

这取决于您的应用目的。请记住,创建一个新池比重复使用同一个池要昂贵得多。 通常我会使用选项 1,但我再说一遍,这取决于您的应用程序。如果所有子进程都大量使用 db 操作,则最好使用选项 2。

【讨论】:

以上是关于在 mongodb-native NodeJS 中为每个子进程使用集群的单个连接池与多个连接池的主要内容,如果未能解决你的问题,请参考以下文章

如何在 mongodb-native findOne() 中使用变量作为字段名?

MongoDB Native Node.js问题

Nodejs - 如何在 ubuntu 中卸载旧版本的 nodejs 并安装新版本的 nodejs

如何在nodejs中启动livereload

不要在nodejs中阻塞event loop

不要在nodejs中阻塞event loop