我正在寻找一种在Zend Framework(1.1)中管理数据库连接的通用方法。
我们的ZF应用程序托管在亚马逊云中,我们使用他们的RDS解决方案。添加只读副本服务器很容易,但我们希望在我们的应用程序中添加对它的支持。我们正在寻找最好的&处理它的简单解决方案。任何建议都会很棒。
我知道如何在Zend_Db_Select
和Zend_Db_Tables
中切换数据库连接,但我正在寻找一个更加集中和自动的框架,所以我们不需要设置每个查询/模型中的从属支持。
我也读过有关mysql代理的内容,但我不想在我们的应用程序中引入另一个软件层。
答案 0 :(得分: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 :(得分:-1)
您可以覆盖相关的类并决定(读取或写入)将查询发送到哪个数据库。