2

我正在寻找一种在 Zend Framework (1.1) 中管理数据库连接的通用方法。

我们的 ZF 应用程序托管在亚马逊云中,我们使用他们的 RDS 解决方案。添加只读副本服务器很容易,但是我们希望在我们的应用程序中添加对它的支持。我们正在寻找处理它的最佳和简单的解决方案。任何建议都会很棒。

我知道如何在 inZend_Db_Select和 in 的数据库连接之间切换Zend_Db_Tables,但我正在寻找一个尽可能集中和自动化的框架,因此我们不需要在每个查询/模型中设置从属支持。

我还阅读了有关 mysql 代理的信息,但我不想在我们的应用程序中引入另一个软件层。

4

2 回答 2

1

您真的在使用 ZF 1.1 吗?还是采埃孚 1.10/1.11?在后一种情况下,您可以使用Zend_Application_Resource_Multidb来设置不同的数据库资源。

如果你需要自动切换(负载均衡)有很多方法。我不了解 MySQL 的 LoadBalancers,但以编程方式,您可以在引导过程中将默认适配器随机切换到其中一个多数据库。然后您的应用程序使用每个请求一个随机数据库(如果您使用 Zend_Db_Table::getDefaultAdapter() / Zend_Db_Table::getAdapter())

或者您创建一个自己的代理类来为您管理它。有关您的环境和确切用例的更多信息可能会很有用。

于 2012-01-31T10:47:22.707 回答
-1

您可以只覆盖相关类并决定(读取或写入)将查询发送到哪个数据库。

于 2011-10-21T08:35:19.540 回答