Node.JS + MySQL连接池需要?

使用node-mysql模块,有两个连接选项 – 一个连接和一个连接池。 build立与MySQL数据库的连接,为所有请求使用单个全局连接,或为每个请求创build一个连接池并从池中取出一个连接池的最佳方法是什么? 还是有更好的方法来做到这一点? 我是否会针对所有请求使用单个共享连接来运行问题?

为整个应用程序维护一个连接可能有点棘手。

通常情况下,你想打开一个连接到你的mysql实例,并等待它build立。

从这一点开始,您可以开始使用数据库(可能会启动HTTP(S)服务器,处理请求并根据需要查询数据库。)

问题是当连接被破坏(例如,由于networking错误)。 由于您在整个应用程序中使用了一个连接,因此您必须重新连接到MySQL,并在build立连接时以某种方式对所有查询进行排队。 正确实施这些function相对困难。

node-mysql有一个内置的pooler。 一个池塘,创build几个连接,并保持在一个池中。 无论何时您想closures从池中获取的连接,池都会将其返回到池中,而不是实际closures它。 游泳池上的连接可以在下一次公开呼叫时重复使用。

国际海事组织使用连接池,显然是更简单,应该不会影响性能很多。