使用node.js,我如何写入一个MySQL数据库并从另一个读取?

具体来说,我正在谈论MySQL Master-Slave(s) Replication 。 据我所知,我所有的读取应该发生在从机(或多个从机隐藏在负载均衡器之后),而我所有的直接写入主机。

我怎样才能做到这一点node.js ? 我为我的数据库查询使用MySQL活动logging包,我不认为它支持本地。 我想我可以破解包,并有一个if is write-query, then use db1types的情况,但我不知道是否有一个更简单的方法。

你可以像这样创build两个适配器:

 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

另一个select是切换到另一个支持这个开箱即用的ORM。 我知道这不是一个解决scheme虽然不错。 例如Sequelize被广泛使用,并支持这个开箱即用。