2016-11-30 54 views
2

我正在使用Amazon RDS托管MySQL并具有多可用区域支持。只是找不到关于如何将Sequelize连接到Amazon RDS的任何信息,以便Sequelize能够相应地处理故障转移等。如何将Node Sequelize连接到Amazon RDS使用多可用区域的MySQL可能

我只是使用下面的配置,但是现在不要,如果这是足够的或建议?

sequelizeConfig = { 
    logging: false, 
    pool: { maxConnections: 5, maxIdleTime: 30}, 
    sequelizeConfig[dialectOptions] = { 
    ssl: 'Amazon RDS' 
    } 
} 

使用Amazon RDS与多AZ我考虑以下事项:

  1. 尝试重新连接,如果迷路了,直到它再次可用
  2. 不缓存MySQL服务器的IP地址太长(亚马逊建议少于1分钟)

Amazon Docs没有写任何有关连接处理和池的内容。

+1

你得到节点Sequelize.js与亚马逊RDS MySQL的工作吗? – GLindqvist

+0

是的,但只是串行化,而不是与迁移相关的sequelize-cli。按照我所看到的aws文档 – Manuel

+0

中所述,只需使用环境变量的常规SQL设置以及上述设置即可。游民。我们启动了一个EC2实例并通过安全组连接RDS。 – GLindqvist

回答

2

这里是我如何得到我的RDS连接:

var config = require(__dirname + '/../config/config.json')[env]; 
// your config file will be in your directory 
var sequelize = new Sequelize(config.database, config.username, config.password, { 
    host: '****.****.us-west-1.rds.amazonaws.com', 
    port: 5432, 
    logging: console.log, 
    maxConcurrentQueries: 100, 
    dialect: 'postgres', 
    dialectOptions: { 
     ssl:'Amazon RDS' 
    }, 
    pool: { maxConnections: 5, maxIdleTime: 30}, 
    language: 'en' 
})