Heim  >  Artikel  >  Datenbank  >  Redis lernt die Master-Slave-Replikation als Master/Slave

Redis lernt die Master-Slave-Replikation als Master/Slave

coldplay.xixi
coldplay.xixinach vorne
2021-03-08 10:06:431811Durchsuche

Redis lernt die Master-Slave-Replikation als Master/Slave

Was ist

Jargon: Es ist das, was wir Master-Slave-Replikation nennen. Nachdem die Host-Daten aktualisiert wurden, werden sie entsprechend der Konfiguration automatisch mit dem Master/Slave-Mechanismus synchronisiert Richtlinie. Der Master dient hauptsächlich zum Schreiben. Was kann er tun? Trennung von Lesen und Schreiben. Notfallwiederherstellung. Empfohlen (kostenlos):

redis

• Ordnen Sie den Slave (die Bibliothek) zu, nicht den Master (die Bibliothek)

• Befehl zur Konfiguration der Slave-Bibliothek: Slaveof Master-Bibliothek IP-Master-Bibliotheksport

  • Jedes Mal, wenn Sie die Verbindung zum Master trennen, müssen Sie die Verbindung erneut herstellen, es sei denn, Sie konfigurieren Redis .conf-Datei (spezifischer Speicherort: redis.conf-Suche ### # REPLIKATION ####)
  • Informationsreplikation

• Konfigurationsdateidetails ändern

  • Kopieren Sie mehrere redis.conf-Dateien und benennen Sie sie entsprechend „redis[port]“ um. conf'   • Dämonisierung aktivieren ja   • PID-Dateiname • Geben Sie den Port an    • Protokolldateiname

   • dump.rdb-Name

Replikation Englisch [ˌreplɪ'keɪʃ(ə)n] US 'keɪʃ(ə) n] n.

(Malerei usw.) kopieren; wiederholen (insbesondere die Antwort auf die Verteidigung)




Häufig verwendete 3 Tricks



Ein Meister und zwei Sklaven Slaves)


Init


Durch Slavevon 127,0.0,1 6379d zum Einrichten der Slave-Maschine

Zu diesem Zeitpunkt sind ein Master und zwei Slaves eingerichtet
Stellen Sie k4 v4 im Master ein und erhalten Sie k4 in beiden Slaves angezeigt werden.

1. Wenn ich k1 und k2 vor dem Slave einstelle, kann die Slave-Maschine deren Werte überprüfen? Ja, die Slave-Maschine kann erst nach Erhalt von Anfang bis Ende spielen. Der Host muss alles erledigen 2. Zu diesem Zeitpunkt ist set k6 v6 auf dem Host eingestellt und set k6 v66 ist auch auf den beiden Slaves eingestellt. Wer zuerst kommt, mahlt zuerst, letzteres hat Vorrang. Können der Slave und der Host denselben Befehl ausführen?

Der Master schreibt als Master und der Slave liest als Master.

Zu diesem Zeitpunkt kann der Slave nicht schreiben und es wird eine Ausnahme gemeldet. 3. Der Host ist tot? Wie hoch sind die Chancen? Von der Maschine? An Ort und Stelle bleiben? Immer noch Sklave, bleib sitzen. Ich werde nicht in der Lage sein, zu übernehmen. Wenn der Anführer zurückkommt, wird alles wie zuvor sein

4. Die Sklavenmaschine ist gestorben? Sich von der Funktionsunfähigkeit erholen?

Wenn die Slave-Maschine ausfällt, wird sie bei der Wiederherstellung zum Master, denn • Jedes Mal, wenn sie vom Master getrennt wird, muss sie erneut verbunden werden, es sei denn, Sie konfigurieren sie in redis.conf. Wenn Sie mit der großen Armee mithalten möchten, verwenden Sie einfach den Befehlsslave. Beginnen Sie von vorne und spielen Sie die Konsole von Anfang bis Ende durch.

Redis lernt die Master-Slave-Replikation als Master/SlaveWeitergabe von Generation zu Generation


Kernidee: Dezentralisierung
Der vorherige Slave kann der Master des nächsten Slaves sein. Der Slave kann auch Verbindungs- und Synchronisationsanfragen von anderen Slaves empfangen, dann wird der Slave der nächste Master Die Kette kann den Schreibdruck des Masters effektiv reduzieren (der Slave des Slaves ist immer noch ein Slave).
Richtungsänderung auf halbem Weg: Die vorherigen Daten werden gelöscht und die neueste Kopie wird wiederhergestellt.
Slave der neuen Master-Bibliothek IP der neuen Master-Bibliothek Port
Zum Beispiel ist 79 der Host von 80, 80 Es ist der Host von 81. In 79 kann der Satz k9 v9 zwischen 80 und 81 abgefragt werden. Verwenden Sie die erneute Veröffentlichung von Informationen auf dem 80-Host. Es ist ein Slave, aber es ist auch mit einem Slave verbunden.


Kundenorientiert umkehren

SKLAVEVON niemandem

Stoppen Sie die Synchronisierung der aktuellen Datenbank mit anderen Datenbanken und verwandeln Sie sie in die Master-Datenbank Nachdem der Host aufgelegt hat, müssen die beiden Slaves zu diesem Zeitpunkt einen Chef auswählen. Verwenden Sie einen Befehl für 80, Sklave von Niemandem, lassen Sie 80 den Anführer nennen. Wenn für 81 ein Slave von 80 verwendet wird, wird der 80-Bit-Host erkannt, die Daten von 80 werden geändert und 81 kann auch abgefragt werden. Wenn der ursprüngliche Wirt 79 zurückkommt, wird er zu diesem Zeitpunkt zu einem unabhängigen Individuum.

Prinzip der Replikation


Nachdem der Slave erfolgreich gestartet und mit dem Master verbunden wurde, sendet er einen Synchronisierungsbefehl.
Der Master erhält den Befehl zum Starten des Hintergrundspeichervorgangs und sammelt gleichzeitig alle empfangenen Befehle für Nachdem der Hintergrundprozess abgeschlossen ist, überträgt der Master die gesamte Datendatei an den Slave, um eine vollständige Synchronisierung durchzuführen.

Vollständige Kopie: Nachdem der Slave-Dienst die Datenbankdateidaten empfangen hat, speichert er sie und lädt sie in die Erinnerung.

Inkrementelle Replikation: Der Master leitet weiterhin alle neu gesammelten Änderungsbefehle an den Slave weiter, um die Synchronisierung abzuschließen. Aber solange der Master wieder verbunden ist, wird automatisch eine vollständige Synchronisierung (vollständige Replikation) ausgeführt. Das erste Mal ist die vollständige Replikation, und danach handelt es sich um inkrementelles Kopieren.


Sentinel-Modus (Sentinel)

Eine Gruppe von Sentinels kann mehrere Master gleichzeitig überwachen (Patrol Sentinel)

Was ist das? Eine automatische Version, die hauptsächlich gegen Kunden gerichtet ist. Sie kann überwachen, ob Der Host ist im Hintergrund fehlerhaft. Die Konvertierung erfolgt automatisch von der Slave-Bibliothek zur Hauptbibliothek

1. Passen Sie die Struktur an, 6379 bringt 6380, 6381
2. Erstellen Sie eine neue sentinel.conf-Datei, der Name darf nicht falsch sein
3. Konfigurieren Sie den Sentinel, füllen Sie den Inhalt aus
1. Sentinel-Monitor Der Name des Überwachten Datenbank (benennen Sie es selbst) 127.0.0.1 6379 1
  2. Die letzte Zahl 1 oben bedeutet, dass die Salve abstimmt, um zu sehen, wer als Gastgeber übernimmt, nachdem die Anzahl der Stimmen ermittelt wurde. er wird der Host (PS. Es unterscheidet sich von der Beschreibung auf der offiziellen Website, es gibt unten offizielle Dokumente)
4. Starten Sie Sentinel
    1. redis-sentinel /sentinel.conf (die oben genannten Verzeichnisse werden entsprechend ihrer tatsächlichen Konfiguration konfiguriert Bedingungen und die Verzeichnisse können unterschiedlich sein)
5. Normale Master-Slave-Demonstration
6. Der ursprüngliche Master hängt
7. Für einen neuen stimmen
8 . Starten Sie den Master und den Slave neu und überprüfen Sie die Informationsreplikation

Frage: Wenn Der zuvor ausgefallene Master wird neu gestartet. Wird es einen Konflikt zwischen den beiden Mastern geben?
Antwort: Nein, der ursprüngliche Master wird zum Slave

Nachteile der Replikation

Replikationsverzögerung

Da alle Schreibvorgänge zuerst auf dem Master ausgeführt und dann mit dem Slave synchronisiert werden, erfolgt die Synchronisierung vom Master aus Wenn das System sehr ausgelastet ist, wird das Verzögerungsproblem schwerwiegender. Je größer die Anzahl der Slave-Maschinen, desto schwerwiegender wird es.

Weitere verwandte kostenlose Lernempfehlungen: Redis-Tutorial

Das obige ist der detaillierte Inhalt vonRedis lernt die Master-Slave-Replikation als Master/Slave. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen