sql >> データベース >  >> RDS >> Mysql

RailsOctopusGem-スレーブがダウンしているときのマスター/スレーブレプリケーション接続の動作

    このブログ投稿 で読んだように Octopusのデフォルトの動作は、すべてのデータをマスターに書き込み、スレーブからすべてのデータを読み取ることであるため、電源がオフまたは応答しないスレーブは、アプリケーションの障害を引き起こす可能性があります(マスターに書き込まれたデータは、接続されているすべてのスレーブに複製されるため)。 Octopus wiki、「複数のスレーブ」セクション に記載されているように 複数のスレーブ環境での読み取りはラウンドロビンを使用して行われるため、デフォルトで常にスレーブからデータを取得します。

    また、上記のブログから引用:フォールバックメカニズムとして、マスターから直接データを読み取る必要があります(.using(:master)を使用) )どのスレーブノードも使用できない場合、またはデータがまだスレーブに完全に複製されていない場合。データベースノードからの繰り返しの読み取りを防ぐために、アプリケーションごとに変更/結果をキャッシュするオプションもあります。




    1. OpenShiftでのMySQL/CodeIgniter設定

    2. MYSQL:自己結合時にレコードを繰り返すデカルト積を回避する

    3. 以前にメッセージを送信したユーザーのリストを取得する必要があります(MySQL)

    4. MySQLサーバーのタイムゾーンを変更する方法