具体地说,我说的是MySQL Master-Slave(s) Replication。根据我的理解,我的所有读操作都应该从一个从服务器(或隐藏在负载均衡器后面的多个从服务器)进行,而我的所有写操作都应该直接写到主服务器上。
我怎样才能用node.js做到这一点?我正在使用MySQL Active Record包进行数据库查询,我不认为它本身就支持它。我想我可以破解这个包,然后遇到if is write-query, then use db1类型的情况,但我想知道是否有更简单的方法。
发布于 2013-04-09 06:36:55
您可以像这样创建两个适配器:
var activeRecord = require('mysql-activerecord');
var readDB = new activeRecord.Adapter({
server: 'slave.db.com',
username: 'user',
password: 'pass',
database: 'db'
});
var writeDB = new activeRecord.Adapter({
server: 'master.db.com',
username: 'user',
password: 'pass',
database: 'db'
});当您执行update或其他编写查询时,使用writeDB;当您执行select时,请使用readDB。
另一种选择是切换到另一种开箱即用的支持此功能的ORM。我知道这不是一个很好的解决方案。例如,Sequelize被广泛使用,并开箱即用地支持这一点。
https://stackoverflow.com/questions/15890138
复制相似问题