0

私の Rails アプリは主に通常の mySQL データベースで実行されますが、このデータベースがダウンした場合、Rails アプリを MongoDB データベースにフェイルオーバーさせたいと考えています。MongoDB データベースは、基本的にはプライマリ データベースの「キャッシュ」バージョンです。

私が持っていたいくつかのアイデアは、2 つのモデル (AR と MongoDB - Mongoid を使用) であり、次にコントローラーで例外をキャッチし、プライマリーが失敗した場合は MongoDB モデルを使用するというものでしたが、すべてのモデルを 2 つ持つのは雑然としすぎているように感じます。もう 1 つのアイデアは (私はまだテストしていませんが)、モデル内のデータベース接続の例外をレスキューし、代わりにモデルを MongoDB として使用することでしたが、モデルがもともと ActiveRecord::Base から継承されている場合、問題が発生する可能性があります。

これに取り組むための良いアプローチは何でしょうか?

4

1 に答える 1

0

MySQL と MongoDB の間でフェールオーバーを行う良い方法はないと思います。正直なところ、このアイデアはあまり好きではありません。

少数のスレーブで MySQL バックエンドのフェールセーブを作成してみませんか?

于 2013-03-29T11:21:55.543 に答える