最小化Netlify无服务器功能中的MongoDB连接



我一直在使用REST API转换React应用程序,以使用Netlify的无服务器功能,而且它正在运行,但我注意到有很多连接(数百个(到我的MongoDB Atlas数据库,而我只是在测试一切是否正常。

Mongo在他们的视频和博客中表示,要在函数本身中连接到数据库,因为";只要这个特定函数存在,我们就可以使用同一个客户端,从而减少存在的连接数量">

在他们的例子中,只有一个函数,所以这是有道理的,但假设有多个函数,所有函数共享一个连接不是更好吗?这难道不会进一步减少连接的数量吗?

在Netlify无服务器功能中连接Mongo以减少连接的最佳方式是什么?

所有函数共享一个连接不是更好吗?

是的,但我们所说的是一个无服务器的javascript,这意味着每个函数都在一个独立的javascript线程中运行,不能访问其他变量,在这种特殊情况下是clientPromise

从最简单到稳健的问题缓解/解决方案:

  • 根据您在处理程序中所做的操作,将连接池限制为1-2个连接
  • 考虑数据API而不是本机驱动程序
  • 考虑atlas函数
  • 引入statefull组件来处理db操作

最新更新