2011-10-20 48 views
2

我正在尋找一種在Zend Framework(1.1)中管理數據庫連接的通用方法。Zend框架和mysql的奴隸支持

我們的ZF應用程序託管在亞馬遜雲中,我們使用他們的RDS解決方案。添加只讀副本服務器很簡單,但我們希望在我們的應用程序中添加對它的支持。我們正在尋找最好的處理它的最簡單的解決方案&。任何建議都會很棒。

我知道如何在Zend_Db_SelectZend_Db_Tables數據庫連接之間進行切換,但我在尋找儘可能多的更集中和自動化的框架,所以我們不會需要建立從支持每個查詢/型號。

我也讀過關於mysql代理,但我寧願不在我們的應用程序中引入另一個軟件層。

回答

1

你真的在使用ZF 1.1嗎?或ZF 1.10/1.11?在後一種情況下,您可以使用Zend_Application_Resource_Multidb來設置不同的數據庫資源。

如果您需要自動切換(負載平衡),有很多方法。我不知道MySQL的LoadBalancers,但通過編程,您可以在引導程序中隨機地將默認適配器切換到multidbs之一。然後你的應用程序使用每個請求一個隨機數據庫(如果你使用Zend_Db_Table :: getDefaultAdapter()/ Zend_Db_Table :: getAdapter())

或者你創建一個自己的代理類,爲你管理這個。有關您的環境和確切使用情況的更多信息可能會有所幫助。

-1

您可以覆蓋相關類並決定(讀取或寫入)將查詢發送到哪個數據庫。