使用node.js,我如何写入一个MySQL数据库并从另一个读取?
具体来说,我正在谈论MySQL Master-Slave(s) Replication
。 据我所知,我所有的读取应该发生在从机(或多个从机隐藏在负载均衡器之后),而我所有的直接写入主机。
我怎样才能做到这一点node.js
? 我为我的数据库查询使用MySQL活动logging包,我不认为它支持本地。 我想我可以破解包,并有一个if is write-query, then use db1
types的情况,但我不知道是否有一个更简单的方法。
你可以像这样创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被广泛使用,并支持这个开箱即用。