MySQL データベースの 2 つのインスタンスがホストされている 2 つのデータセンターがあるとします。高可用性を実現するために、これら 2 つのインスタンス間にマスター - マスター レプリケーションを実装して、両方のデータベースが常に最新の情報を保持できるようにします。しかし、マスター マスター レプリケーションには独自の問題があり、私はそれを回避しようとしています。私の場合、データの次の特性について知っています-
ユーザー テーブルにキー U1 と U2 を持つ 2 つのレコードがある場合、U1 は 1 つのインスタンスでのみ更新されます。そのため、特定のレコードの書き込みは 1 つのインスタンスでのみ行われます。あとは、このレコードを他のインスタンスにレプリケートして、後で他のインスタンスをマスターとして作成する場合に備えて、最新のレコードを持つようにするだけです。また、ある時点ではインスタンス 1 が U1 のマスターであり、別の時点ではインスタンス 2 が U1 のマスターである可能性もあります。
これは、U1 の書き込みが 2 つのデータベース インスタンスのいずれかで発生する真のマスター マスター レプリケーションよりも 1 ステップ下だと思います。
これに照らして、このシナリオのレプリケーションを実装するためのより良い方法はありますか? 将来的には 2 つ以上のデータセンターが存在する可能性があり、マルチマスター レプリケーションの実装は簡単ではないため、マスター マスター レプリケーションは避けたいと考えています。