【问题标题】:Connection closed: Multiple node apps connecting to same MongoDB server using Mongoose连接关闭:多个节点应用程序使用 Mongoose 连接到同一个 MongoDB 服务器
【发布时间】:2014-04-30 23:54:52
【问题描述】:

我有两个节点服务器在一个机器上运行(端口 3030 和 3031),我试图使用 Mongoose 连接到同一个 MongoDB 服务器(不同的数据库),但它只允许一个应用程序连接而另一个失败。我试过了:

// App 1
var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/db1');

// App 2
var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/db2');

连接是互斥的。当 App 1 连接时,App 2 失败并显示“Connection closed”,反之亦然。

//App 1
var mongoose = require('mongoose');
var conn = mongoose.createConnection('mongodb://mongoserver/db1');
var model = conn.model('collection1');

//App 2 
var mongoose = require('mongoose');
var conn = mongoose.createConnection('mongodb://mongoserver/db2');
var model = conn.model('collection1');

同样的结果。

有没有人能够在创建某种代理应用程序的情况下使其工作?同一个盒子,多个节点应用程序,同一个 MongoDB 服务器,不同的数据库,同时。

【问题讨论】:

  • 奇怪,应该可以正常工作。这里一定有其他事情发生。
  • 您是否能够检查相关时间段的 MongoDB 日志并查看发生了什么?您确定您的应用没有任何类型的单例注册技巧吗?
  • 谢谢大家 - 这是 mongo 服务器上允许的连接的问题。我重新启动了服务器并创建了更多空间以允许更多连接。这解决了它!

标签: node.js mongodb mongoose connection-close


【解决方案1】:

所以事实证明,这不是 node/mongoose 的问题,而是 MongoDB 服务器本身的问题。我已达到最大容量。

连接的限制来自于 1024 打开的操作系统 文件(80% 用于连接)。

所以我有 820 个可用连接,并且我正在使用所有这些连接。我清除了连接,它起作用了。

【讨论】:

    猜你喜欢
    • 2022-11-15
    • 2013-07-29
    • 2021-01-28
    • 1970-01-01
    • 1970-01-01
    • 2018-02-27
    • 1970-01-01
    • 2019-12-24
    • 2019-12-12
    相关资源
    最近更新 更多