Hello,
mit Transaktionszeitpunkten zu arbeiten ist immer kritisch.
Besser ist es, ein vollständiges Transaktionslog zu führen (was MySQL z.B. mit seinem Binary Log schon unterstützt) und eindeutige Transaktionsnummern zu vergeben. Dabei muss es zwangsweise einen Master und einen Slave geben, wobei sich die Rolle aus der Transaktionsnummer ergibt. Derjenige Server, der die höhere Transaktionsnummer führt, ist der Master. Soll auf dem Slave eine Transaktion durchgeführt werden, muss dieser erst die fehlenden Transaktionen nachholen.
Erst, wenn er dies durchgeführt hat, darf er eigene Transaktionen zulassen, die dann wiederum tunlichst vom anderen Server nachgeholt werden müssen.
Durch Mutex-Flags (das von einer dritten Stelle geführt werden könnte) wird sichergestellt, dass beide Serversysteme dieselben Regeln berücksichtigen.
Am einfachsten lässt sich solch ein System (mit MySQL) bereitstellen, wenn man alle (datenverändernden) Transaktionen ausschließlich über stored Procedures abwickelt und den APIs überhaupt keinen (datenverändernden) Direktzugang auf die Datenstrukturen ermöglicht.
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg

 nicht angemeldet
 nicht angemeldet Auge
 Auge