我使用 mongodb atlas 作为数据库托管。 atlas 有连接限制。因此,由于巨大的 mongodb 打开连接,我面临着困难。 我尝试尽可能优化我的 Nodejs 应用程序。但我无法减少太多的mongodb连接
目前我不知道您提到的代码库,先生。一般来说,当我们使用像数据库这样的资源时,我们通常会使用那些使用一些容器的资源,这些容器通常被称为 ConnectionPooling。
https://www.mongodb.com/docs/manual/administration/connection-pool-overview/
这里的想法是您创建x数量的活动连接,连接管理器将在后台处理所有事情。
当应用程序想要连接到数据库时,我们的代码将从这个池连接中获取连接对象,并在完成数据库操作后关闭连接(更像是调用池中的连接对象,以便它可以被需要访问的其他代码重用)数据库)
让我给你一个场景:
非连接池(假设您不关闭连接)-
需要 db 1 -> db 连接号的代码片段。 1
需要 db 2 -> db 连接号的代码片段。 2
需要 db 3 -> db 连接号的代码片段。 3
连接池-
需要 db 1 -> db 连接号的代码片段。 1
需要 db 2 -> db 连接号的代码片段。 1
需要 db -> db 连接号的代码片段。 2(也许)
这里的想法是我们重用数据库连接,这使得它在服务器可见的实际连接数量方面非常高效。
希望这有帮助。