Let us say that I have two datacenters where two instances of a MySQL database are hosted. In order to have high availability, I can implement master-master replication between these two instances so that both the databases always have the latest information. But master-master replication comes with its own sets of problems and I am trying to avoid it. In my case I know about the following characteristic of the data -
If a user table has two records with keys U1 and U2, then U1 will only be updated in one and only instance. So the writes for a given record are done only in one instance. All, I need to do is to replicate this record to other instances so that in case I later want to make the other instance as master it has the latest record. Also, it is possible that at certain point in time, instance 1 is master for U1 and at another time instance 2 is master for U1.
I think this is one step below true master master replication where the write for U1 can happen in any of the two database instances.
In light of this, is there a better way to implement replication for this scenario. I would like to avoid master-master replication as in future we might have more than 2 data-centers and implementing multi-master replication is not straight-forward.