Sequelize 与 AWS RDS 代理连接问题

Mic*_*ini 5 mysql amazon-web-services node.js sequelize.js amazon-rds-proxy

我已经通过 AWS API Gateway 和 AWS Lambda 设置了无服务器 API,它们利用 AWS RDS 代理连接到 RDS MySQL 数据库。

我通过执行以下操作在每个 Lambda 执行上打开连接:

sequelize = new Sequelize(process.env.DB, process.env.USER, process.env.PASS, {
            host: process.env.RDS_PROXY_ENDPOINT,
            dialect: 'mysql',
            dialectModule: mysql2
        });
...

 console.info("doing authenticate");
            await this.sequelize.authenticate();
 console.info("done, returning connection.");

... 

BUSINESS LOGIC (mostly CRUD operations)

...

finally{
  await sequelize.close();
}

Run Code Online (Sandbox Code Playgroud)

现在,我们在某些 api 调用上遇到随机 lambda 超时,如果刷新页面,则同一端点上的后续 api 调用会成功。

问题是:

在使用 lambda 函数中的连接将其释放到代理后,我是否应该调用sequelize close?

这是我的 RDS 代理面板,您可以看到客户端连接大多为 1 或 2 个,但我遇到了连接问题。

有什么建议吗?

这是我的 RDS 代理面板