具体来说,我在谈论 MySQL Master-Slave(s)Replication.根据我的理解,我的所有读取都应该从一个从站(或多个从站隐藏在负载均衡器后面)和我所有的写入直接发送到主站. 我怎么能用node.js做到这
我怎么能用node.js做到这一点?我正在使用MySQL Active Record软件包进行数据库查询,我认为它本身不支持它.我想我可以破解包并有一个if是写查询,然后使用db1类型的情况,但我想知道是否有更简单的方法.
您可以像这样创建两个适配器: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' });
当您进行更新或其他写入查询时,请使用writeDB;当你去选择使用readDB.
另一种选择是切换到支持这种开箱即用的另一个ORM.我知道这不是一个很好的解决方案.例如Sequelize被广泛使用并且支持这种开箱即用.