在使用MultiDB资源的Zend Framework中,如何配置数据库回退?

时间:2011-12-07 01:34:07

标签: database zend-framework fallback

我们使用Zend Framework的MultiDB资源(http://framework.zend.com/manual/1.10/en/zend.application.available-resources.html#zend.application.available-resources.multidb

我的任务是添加一个新的数据库资源,该资源有三个端点用于冗余。我想配置MultiDB,这样如果与第一个端点的连接失败,它将在放弃之前连接到第二个端点,如果需要,还可以连接第三个端点。

我尝试设置resource.multidb.resourcename.host []但是失败了。看起来它只接受一个端点。

有没有办法配置回退?或者我是否需要扩展Zend_Application_Resource_Multidb?

1 个答案:

答案 0 :(得分:0)

说实话,我从未尝试过软件方(甚至不确定它是否真的可以用于zend框架"本身")数据库应用程序的后备。并且有一个很好的理由:它只是错误的地方!

有几个绊脚石:

  1. 如何设法在多个数据库之间保持数据持久性?
  2. 如果一个数据库关闭会发生什么?
  3. 假设您正在使用MySQL:您可能需要查看MySQL本身的主 - 从复制:16.1.1. How to Set Up Replication

    即使这可能会导致您的头脑(特别是如果您必须迁移现有数据)。我目前对几个项目前遇到的解决方案非常满意: 您可以将任务交给数据库/服务器本身,而不是自己处理减少的痛苦!

    到目前为止,我遇到的最简单的解决方案是在(从您的Web应用程序本身独立)failover vServer cluster设置数据库。

    对不起,如果我的答案与您的问题不符,那么这可能是一种发人深省的冲动,可以采用不同的方法。