Aws lambda AWS代理:在lambda中使用sequelize时RDS连接限制
我正在利用AWS服务的使用来实现一种功能 小结:我有一个lambda可以访问RDS中的Postgres DB。代理端点不是直接连接到DB,而是按照体系结构的建议进行访问。生成IAM令牌没有问题,在创建Sequelize连接时它被用作密码 问题:最初我没有使用rds代理。在这个场景中,我使用lambda的执行上下文来重用连接。在这里,我没有关闭lambda中的连接(它工作正常-在这里直接连接到数据库)。但在代理实现中,在不关闭连接的情况下,代理对数据库的连接会出现一个很大的峰值,它正在测试负载限制。以10req/秒的速度,我看到了90个连接 在lambda中关闭连接时,连接会大大减少到Aws lambda AWS代理:在lambda中使用sequelize时RDS连接限制,aws-lambda,sequelize.js,amazon-rds,amazon-rds-proxy,Aws Lambda,Sequelize.js,Amazon Rds,Amazon Rds Proxy,我正在利用AWS服务的使用来实现一种功能 小结:我有一个lambda可以访问RDS中的Postgres DB。代理端点不是直接连接到DB,而是按照体系结构的建议进行访问。生成IAM令牌没有问题,在创建Sequelize连接时它被用作密码 问题:最初我没有使用rds代理。在这个场景中,我使用lambda的执行上下文来重用连接。在这里,我没有关闭lambda中的连接(它工作正常-在这里直接连接到数据库)。但在代理实现中,在不关闭连接的情况下,代理对数据库的连接会出现一个很大的峰值,它正在测试负载限制
const { Sequelize } = require('sequelize');
let proxyToken = '***latest iam token with 15min validity***';
let additionalConnectionDetails = {
host: process.env.PROXY_ENDPOINT,
schema: 'schemaname',
searchPath: 'searchpath',
dialect: 'postgres',
dialectOptions: {
prependSearchPath: true,
ssl: {
require: true,
rejectUnauthorized: false
}
},
// pool: {
// max: 2,
// min: 1,
// acquire: 3000,
// idle: 0,
// evict: 120000
// },
// // maxConcurrentQueries: 100
}
sequelize_connection = new Sequelize(dbCreds.app, dbCreds.userName, proxyToken, additionalConnectionDetails);
console.log('sequelize', sequelize_connection)
return sequelize_connection