MGR (MySQL Group Replication) ist eine neue Funktion, die in Version 5.7 hinzugefügt wurde und ein MySQL-Plug-In ist. MGR ist eine neue Lösung mit hoher Verfügbarkeit und Skalierbarkeit. Die Daten aller Knoten im Cluster sind gleich und können auf alle Knoten geschrieben werden, wodurch echter Multimaster realisiert wird. Es umfasst im Wesentlichen folgende Teile: API-Schicht: verantwortlich für die Durchführung der Interaktion mit dem MySQL-Server, das Abrufen des Serverstatus und die Durchführung der Transaktionsverwaltung. Komponentenebene: umfasst hauptsächlich drei spezifische Komponenten. Capture ist für das Sammeln relevanter Informationen zur Transaktionsausführung verantwortlich, Applier ist für das lokale Anwenden von Clustertransaktionen verantwortlich und Recovery ist für die Wiederherstellung von Knotendaten verantwortlich. Replikationsschicht: verantwortlich für die Konfliktüberprüfung sowie den Empfang und die Anwendung von Clustertransaktionen. Cluster-Kommunikationsschicht: Cluster-Kommunikations-Engine basierend auf dem Paxos-Protokoll und Interaktionsschnittstelle mit Komponenten der oberen Schicht. MGR-Gruppenreplikation: Aufgrund der Mängel der herkömmlichen asynchronen Replikation und der halbsynchronen Replikation – Datenkonsistenz kann nicht garantiert werden – hat MySQL in Version 5.7.17 offiziell die Gruppenreplikation (MySQL Group Replication, kurz MGR) eingeführt. Eine Replikationsgruppe besteht aus mehreren Knoten. Die Übermittlung einer Transaktion muss von der Mehrheit der Knoten (N/2 + 1) in der Gruppe entschieden und genehmigt werden, bevor sie übermittelt werden kann. Wie in der Abbildung oben dargestellt, besteht eine Replikationsgruppe aus drei Knoten. Die Konsensschicht ist die Konsistenzprotokollschicht. Während des Transaktionsübermittlungsprozesses findet eine Kommunikation zwischen den Gruppen statt. Die Transaktion kann erst übermittelt und beantwortet werden, nachdem zwei Knoten sie genehmigt haben. Die Einführung der Gruppenreplikation dient hauptsächlich dazu, das Problem der Dateninkonsistenz zu lösen, das bei der herkömmlichen asynchronen Replikation und der halbsynchronen Replikation auftreten kann. Die Gruppenreplikation basiert auf einem verteilten Konsistenzprotokoll (einer Variante des Paxos-Protokolls), um eine endgültige Datenkonsistenz in einer verteilten Umgebung zu erreichen und eine Datenlösung mit wirklich hoher Verfügbarkeit bereitzustellen (ob sie wirklich hochverfügbar ist, muss noch diskutiert werden). Die bereitgestellte Multi-Write-Lösung gibt uns Hoffnung auf die Realisierung einer Multi-Active-Lösung. MGR implementiert eine verteilte Datenbankarchitektur und die zugrunde liegende verteilte Grundlage ist das Paxos-Protokoll. Paxos wird verwendet, um die Übermittlungsreihenfolge von Transaktionen in verteilten Datenbanksystemen sicherzustellen. Obwohl MGR den Slave-Kanal verwendet, verwendet es nur den Ausführungsthread (Applier-Thread) dieses Kanals, um das remote gesendete Binlog-Ereignis auszuführen, und verwendet diesen Kanal nicht, um das Binlog-Ereignis zu übertragen. MGR verwendet weder den Binlog-Ereignisübertragungsmechanismus der asynchronen Replikation noch den MySQL-Dienstport zur Kommunikation. MGR erstellt einen unabhängigen TCP-Port für die Kommunikation. Die Group Replication-Plugins auf jedem MySQL-Server sind über diesen Port miteinander verbunden und können direkt miteinander kommunizieren. Die Übertragung des Binlog-Ereignisses ist keine einfache Punkt-zu-Punkt-Übertragung wie die asynchrone Replikation. MGR verwendet zur Datenübertragung das Paxos-Protokoll. Das Paxos-Protokoll gewährleistet die Konsistenz und Atomizität der Datenübertragung. MGR erstellt einen verteilten Replikationsmechanismus für Zustandsmaschinen auf Grundlage des Paxos-Protokolls, welches die Kerntechnologie für die Implementierung der Multi-Master-Replikation darstellt. Drei wesentliche Vorteile: 1. Split-Brain vermeiden: Split-Brain tritt in MGR nicht auf (beachten Sie jedoch, dass Netzwerkpartitionen auftreten können. MGR verhält sich je nach Einstellung des Parameters group_replication_unreachable_majority_timeout=0/N etwas anders). 2. Datenkonsistenzgarantie: MGR verfügt über hervorragende Redundanzfunktionen, die sicherstellen können, dass Binlog-Ereignisse auf mindestens mehr als die Hälfte der Mitglieder repliziert werden. Solange nicht mehr als die Hälfte der Mitglieder gleichzeitig ausfällt, kommt es nicht zu Datenverlusten. MGR stellt außerdem sicher, dass das lokale Mitglied das Binlog-Ereignis der Transaktion nicht in die Binlog-Datei schreibt und die Transaktion festschreibt, solange das Binlog-Ereignis nicht an mehr als die Hälfte der Mitglieder übertragen wird. Dadurch wird sichergestellt, dass der ausgefallene Server keine Daten enthält, die bei den Online-Mitgliedern in der Gruppe nicht vorhanden sind. Daher kann ein ausgefallener Server nach dem Neustart der Gruppe beitreten, ohne dass eine besondere Verarbeitung erforderlich ist. 3. Multi-Node-Schreibunterstützung: Im Multi-Write-Modus können alle Knoten im Cluster beschrieben werden. Oben sind die Vorteile von MySQL MGR im Detail beschrieben. Weitere Informationen zu MySQL MGR finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM! Das könnte Sie auch interessieren:
|
<<: Diagramm zum Implementierungsprozess der Linux-Jenkins-Konfigurations-Salve-Knoten
>>: So erkennen Sie die Dateisystemintegrität basierend auf AIDE in Linux
Inhaltsverzeichnis 1.1Tinyint-Typbeschreibung 1.2...
1. DOCTYPE ist unverzichtbar. Der Browser bestimm...
1. Erstellen Sie eine Datenbank: Daten erstellen ...
Inhaltsverzeichnis Vorwort Zur APP-Methode spring...
Was ist eine große Sache? Transaktionen, die über...
Tomcat konfigurieren Installieren Sie zuerst Tomc...
Vorwort Kürzlich stieß ich in einem Projekt auf e...
Laden Sie das Tutorial zum Paket mysql-connector-...
Inhaltsverzeichnis MySQL gefilterte Replikation I...
Inhaltsverzeichnis linux 1. Was ist SWAP 2. Was p...
Canal ist ein Open-Source-Projekt von Alibaba, da...
Ich habe mich beim Backend angemeldet, um die Lös...
Inhaltsverzeichnis 1. Anforderungsbeschreibung 2....
1. Es gibt im Allgemeinen zwei Methoden zur Steue...
Hintergrund Kürzlich fragten mich einige Freunde,...