2013-04-08 52 views
4

具體來說,我說的是MySQL Master-Slave(s) Replication。據我瞭解,我所有的讀取都應該發生在從機(或多個從機隱藏在負載均衡器後面)並且我所有的寫入都直接寫入主機。使用node.js,我如何寫入一個MySQL數據庫並從另一個讀取?

我該怎麼做node.js?我爲我的數據庫查詢使用了MySQL Active Record包,我不認爲它本地支持它。我認爲我可以破解包裹,並有if is write-query, then use db1類型的情況,但我想知道是否有更簡單的方法。

+0

是否有某些原因,您不想創建兩個適配器? – pauljz 2013-04-08 22:33:22

+0

你是什麼意思創建兩個適配器? – Shamoon 2013-04-08 22:33:36

回答

3

您可以只創建兩個適配器這樣的:

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被廣泛使用並支持開箱即用。

相關問題