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 个,但我遇到了连接问题。
有什么建议吗?