Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Backend-DB-Setup für eine App mit geografisch unterschiedlichen Benutzern

Sie können die asynchrone Replikation nicht in beide Richtungen verwenden, ohne Replikationskonflikte zu erzeugen, die unmöglich zu lösen sind und Dinge kaputt machen.

Daher ist Ihre offensichtliche Wahl die Verwendung der Lese-/Schreibaufteilung - lassen Sie die Anwendung unkritische Lesevorgänge aus einer (schreibgeschützten) lokalen DB durchführen und alle Schreibvorgänge an den Master leiten. Der Nachteil davon ist, dass Sie Ihre eigenen Schreibvorgänge nicht sofort zurücklesen können.

Die MySQL-Replikation ist nicht perfekt und erfordert einigen Aufwand bei der Einrichtung und kontinuierliche Überwachung bei der Wartung; Sie müssen häufig überprüfen, ob die Daten in den Slaves gleich sind. Einige Abfragen werden falsch repliziert; Sie müssen diese verstehen und vermeiden.