現在、単一のデータセンターで実行されている3ノードのPerconaXtradbクラスターがあります。災害時のフォールトトレランスを追加して、単一のデータセンターへの依存を防ぎ、Perconaデータを2番目のデータセンターと同期して、そのような場合に新しい同期されたクラスターに接続するようにアプリを簡単に切り替えることができるようにします。イベント。
多くのデータセンターにマスターノードを追加するだけでよいことは承知していますが、別の場所にあるデータセンターの往復書き込み時間の増加を犠牲にすることはできません。代わりに、MySQLレプリケーションでこれを行うことが可能かどうか疑問に思いました。私の考えは、次のように設定することです。
3ノードのメインPerconaクラスター-> MySQLレプリカDB-> 3ノードのセカンダリPerconaクラスター
レプリカにわずかな遅延があり、データが数秒で同期しなくなる可能性があることはわかっていますが、これは私たちが喜んで行うトレードオフです。このような設定では、スイッチを押すだけでクラスターを簡単に切り替えることができます。
いくつかの質問を聞きたいんです:
私はこれについて多くの質問を知っていますが、あなたの助けに感謝します!
クラスター-> MySQL->クラスターは機能します。私自身は試していませんが、数か月前からCluster-> ClusterがSoon™のオプションになることを知っているので、中間のステップをスキップできるかもしれません。 PXCのPoVから、マシンの1つから自分を奴隷にし、他のマシンは自分自身を自分に奴隷にします。あなたはデータを受信しているほど「データの受信と書き込みの両方」ではなく、データをあなたから受信できるようにする、その区別が理にかなっている場合。
再同期するには、マスターマスターのように手動で調整したauto_increment_increment
およびauto_increment_offset
各クラスターで。おそらく簡単ですが、最悪の場合、PXCによって選択されたauto_increment_ {increment、offset}を制約することを意味します。これは小さなパッチになります。
ボーナスポイント:最大のレプリケーション速度を得るには、変更します(sql_log_bin=0
セッション中!!!)ブラックホールエンジンを使用するための中間データベース上のテーブル。