节点/MySQL (mysql2) 连接池

问题描述

我有一个关于连接池如何在使用 node/mysql2 的 Node 应用程序中工作的高级问题。

假设有两个同时发出 API 请求的 https 调用。 API(Express/Node 应用程序)调用一个函数查询我的数据库并返回 JSON。我的池配置限制为 10 个连接。当这两个 API 调用进来时,MysqL2 是要创建一个包含 20 个连接的池(每个 API 调用都用它自己的池单独处理)还是 MysqL2 只创建 API 将共享的总共 10 个连接?如果 100 人同时连接会发生什么?这是一个潜在的同时包含 1,000 个数据库连接的池吗?

我问的原因是:我的一些 API 调用涉及 MysqL 事务,对于这些请求,我想将池连接数限制为 1,以便 BEGIN TRANSACTION、COMMIT 和 ROLLBACK 命令都发生在相同的线程 ID。所有其他 API 调用都可以使用任何可用的连接。

这个逻辑有错吗?

我担心,如果我将某些 API 调用限制为 1 个连接,而让其他 API 调用具有 10 个或更多连接,那么如果流量激增,我将导致数据库连接问题。

谢谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)