node.js - 如何防止 MongoDB nodeJS 驱动程序在失败时使我的整个应用程序/进程崩溃?
问题描述
我目前正在对集成 MongoDB 连接的 nodeJS API 进行压力测试。
当没有太多并发连接被处理时它工作正常(每秒 1 个,并且每个连接在事务后关闭),但是当并发连接数显着增长时,连接崩溃,我的进程也是如此,然后我已经必须手动重新启动服务器。
Error: Module did not self-register: '/Users/david/myproject/node_modules/fs-ext/build/Release/fs-ext.node'.
at Object.Module._extensions..node (node:internal/modules/cjs/loader:1142:18)
at Module.load (node:internal/modules/cjs/loader:948:32)
at Function.Module._load (node:internal/modules/cjs/loader:789:14)
at Module.require (node:internal/modules/cjs/loader:972:19)
at require (node:internal/modules/cjs/helpers:88:18)
at Object.<anonymous> (/Users/david/myproject/node_modules/fs-ext/fs-ext.js:22:15)
at Module._compile (node:internal/modules/cjs/loader:1083:30)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1112:10)
at Module.load (node:internal/modules/cjs/loader:948:32)
at Function.Module._load (node:internal/modules/cjs/loader:789:14)
有什么办法可以防止服务器崩溃并处理这个异常,而不是每次像这样失败时都必须重新启动它?
这是我的代码:
Promise.resolve(MongoClient.connect(`${url}`, {
useNewUrlParser: true,
useUnifiedTopology: true,
numberOfRetries: 3
}))
.then((db) => {
// interact with the database
})
MongoDB是dockerized,我正在使用NodeJS v15.0.1
,驱动程序是"mongodb": "3.6.3"
解决方案
推荐阅读
- php - 如何从 php 将多行打印到一个 csv 单元格中?
- python - 如何在 aws quicksight 中安排或自动刷新数据集
- javascript - 当我将其插入另一个 div 时,自动将宽度调整为内部加载的随机图像数量的 ContainerDiv 会破裂
- javascript - 为什么 cookie 随每个请求一起发送,但在浏览器控制台或 document.cookie 中不可见?
- mysql - 如何在 Amazon LightSales 中更改字符集服务器的属性?
- javascript - 如何在grapesjs中为js代码添加选项?
- mysql - 如何使用spring boot通过邮递员操作数据
- firebase - Firebase 部署错误 - 尝试解析函数触发器时出现未知问题。请确保您使用的是 Node.js v6 或更高版本
- c++ - 为什么即使语句评估为假,我的循环也会在睡眠后连续循环
- mysql - MySQL 分析查询 - 提高性能