主数据库故障切换到备份MongoDB实例

问题描述:

我的Rails应用程序运行的,主要是普通MySQL数据库,但是,如果该数据库出现故障,我想Rails应用程序故障转移到MongoDB数据库这基本上只是一个“缓存”版本主数据库。主数据库故障切换到备份MongoDB实例

我的一些想法是两个模型(AR和MongoDB - 使用Mongoid),然后在控制器中捕获异常并在主要失败时使用MongoDB模型,但是我觉得这样做会让两个模型都变得非常混乱。另一个想法是(我没有测试)模型救援数据库连接异常,并利用该模型作为一个的MongoDB代替,但想着它,如果模型从最初的ActiveRecord :: Base的继承可能存在的问题。

什么是解决这个问题的好方法?

我不认为这是有MySQL和MongoDB中之间的故障切换什么好办法,而且说实话,我不太喜欢这个想法的。

为什么不让你的MySQL后端与少数奴隶失败?

+0

你是如何故障切换​​到奴隶的? Rails只允许database.yml中列出的一个数据库,并在启动时自动连接到它。如果这样,这个过程不会开始...... – Kevin 2013-06-07 17:53:50