【问题标题】:MongoDB Atlas connection occasionally fails from LambdaMongoDB Atlas 连接偶尔会从 Lambda 失败
【发布时间】:2021-02-14 11:37:18
【问题描述】:

我有一个通过 Mongoose 连接到 Atlas 的 AWS Lambda。

它在我的开发环境(使用 M0 沙盒)上运行良好,但在我有 M2 的 prod 中,当我执行 lambda 的第一个查询时,每隔几个请求都会失败并出现 MongooseServerSelectionError。似乎这只发生在(某些)重用的数据库连接上,从不发生冷启动。

我的网络访问 IP 范围设置为 0.0.0.0,所以我认为白名单不是问题。

不管怎样,这些是我的连接选项:

conn = mongoose.createConnection(process.env.MONGO, {
      bufferCommands: false,
      bufferMaxEntries: 0,
      useNewUrlParser: true,
      useUnifiedTopology: true,
      useCreateIndex: true,
      socketTimeoutMS:4000,
      serverSelectionTimeoutMS: 1000
    });

想知道以前是否有人遇到过类似的问题?

【问题讨论】:

  • 嗨,Jared,你找到这个问题的答案了吗?我们从单个实例更改为副本集并开始获取此 MongooseServerSelectionError

标签: mongodb mongoose aws-lambda mongodb-atlas


【解决方案1】:

我不确定这是否是您正在寻找的答案,但建议您在函数上下文之外初始化数据库连接。 这可能对你有用。 mongodb atlas documentation

【讨论】:

  • 谢谢——它在主函数之外,如果它们及时接近,它会在后续调用中被重用。
猜你喜欢
  • 1970-01-01
  • 2020-01-29
  • 2021-04-27
  • 2018-08-08
  • 2018-06-13
  • 2018-03-03
  • 2021-01-18
  • 1970-01-01
  • 2018-04-09
相关资源
最近更新 更多