URSPRÜNGLICHE FRAGE: Ich habe mehrere Server, die alle als Master fungieren müssen, als ob einer ausfällt, der nächste Server startet und übernimmt. Ich frage mich nur, wie ich am besten replizieren kann. Alle Server befinden sich in verschiedenen Rechenzentren.
Fragen
- Wäre es in Ordnung, jeden Server als Master-Master mit dem 'Supermaster' einzurichten?
- Welche Art von Konflikten hätte ich?
- Gibt es bessere Möglichkeiten, dies zu tun?
AKTUALISIERTE FRAGE: Wir haben Server auf der ganzen Welt in verschiedenen Rechenzentren und jeder Server benötigt Zugriff auf eine Datenbank. Dies ist normalerweise auf localhost.
Jeder Server muss in der Lage sein, die Datenbank zu aktualisieren, und jeder Server ist so ziemlich ein Spiegel jedes anderen Servers. Diese bleiben alle über einen Server (Supermaster) synchron, mit dem alle kommunizieren können.
Alle Server kommunizieren nur mit Supermaster, sie kennen keinen anderen Server. Der Super-Master selbst ist ein Spiegel der anderen Server, nur mit dem zusätzlichen Service, sie alle zu synchronisieren.
Manchmal ist der Supermaster aus verschiedenen Gründen offline. In diesem Fall fahren die anderen Server wie gewohnt fort, einschließlich Lesen und Schreiben von Daten. Wenn der Supermaster wieder hochfährt, startet er den Synchronisierungsprozess und sortiert und löst Konflikte zwischen den anderen Servern. Wenn dies abgeschlossen ist, haben alle Server einen Spiegel der Daten und sind alle "synchronisiert".
Nachdem ich ein bisschen mehr über die Frage nachgedacht habe, sind meine Fragen:
- Gibt es eine Möglichkeit, auf jedem Server eine einzige Datenbank zu haben, die auf der ganzen Linie gleich ist, ohne einen einzigen Punkt zu haben, an dem ich die Datenbank wie in einer Sterntopologie aktualisieren kann?
- Gibt es eine bessere Option, um MySQL für meine Situation auf breiter Front zu replizieren?
Jede Hilfe wird sehr geschätzt.
quelle