Heim > Datenbank > Redis > Hauptteil

Einführung in die Redis-Master-Slave-Replikation

Freigeben: 2020-03-23 09:31:30
nach vorne
2036 Leute haben es durchsucht

Einführung in die Redis-Master-Slave-Replikation

Die Replikationsfunktion von Redis unterstützt die Datensynchronisierung zwischen mehreren Datenbanken. Eine davon ist die Master-Datenbank (Master) und die andere ist die Slave-Datenbank (Slave). Bei einem Schreibvorgang werden die Daten im Allgemeinen automatisch mit der Slave-Datenbank synchronisiert schreibgeschützt und empfängt Daten, die von der Master-Datenbank synchronisiert werden. Eine Master-Datenbank kann mehrere Slave-Datenbanken haben, während eine Slave-Datenbank nur eine Master-Datenbank haben kann.

Empfohlen: Redis-Einführungs-Tutorial

Durch die Master-Slave-Replikationsfunktion von Redis kann die Lese-/Schreib-Trennung der Datenbank gut realisiert werden und die Ladekapazität von Der Server kann verbessert werden. Der Hauptserver ist hauptsächlich für Schreibvorgänge verantwortlich, und der Slave-Server ist hauptsächlich für Lesevorgänge verantwortlich

Master-Slave-Replikationsprozess:

1: Wenn eine Slave-Datenbank gestartet wird, wird ein Synchronisierungsbefehl an die Master-Datenbank gesendet.

2: Nach Erhalt des Synchronisierungsbefehls beginnt die Hauptdatenbank, den Snapshot im Hintergrund zu speichern (RDB-Vorgang ausführen). ) und zwischenspeichern Sie die während des Speicherzeitraums empfangenen Befehle

3: Wenn der Snapshot abgeschlossen ist, sendet Redis die Snapshot-Datei und alle zwischengespeicherten Befehle an die Slave-Datenbank.

4: Nach dem Empfang aus der Datenbank wird die Snapshot-Datei geladen und der empfangene zwischengespeicherte Befehl ausgeführt.

Hinweis: Versionen vor Redis 2.8: Wenn die Master-Slave-Datenbank synchronisiert ist, führt die Slave-Datenbank den oben genannten Vorgang erneut aus, nachdem sie aus Netzwerkgründen getrennt und wieder verbunden wurde, und eine wiederaufnehmbare Übertragung wird nicht unterstützt. Redis2.8 und höher unterstützen die Wiederaufnahme des Haltepunkts.

Hinweis: Um die Datensicherheit zu gewährleisten, können Sie ab Redis 2.8 Min-Slaves-to-Write so konfigurieren, dass ein Master-Knoten nur dann Schreibvorgänge ausführen kann, wenn er über mindestens N Slave-Knoten verfügt. Der Slave-Knoten pingt den Master-Knoten einmal pro Sekunde und der Master-Knoten zeichnet auf, wann jeder Slave-Server das letzte Mal einen Ping an ihn gesendet hat. Benutzer können die maximale Netzwerkverzögerung (min-slaves-max-lag) und die minimale Anzahl von Slave-Servern, die zum Ausführen von Schreibvorgängen erforderlich sind, über die Konfiguration festlegen

  min-slaves-to-write
  min-slaves-to-write 3
  min-slaves-max-lag 10
Nach dem Login kopieren

Wenn es mindestens min-slaves-to-write-Slave-Server gibt, Und der Verzögerungswert dieser Server beträgt weniger als min-slaves-max-lag Sekunden, dann führt der Hauptserver den vom Client angeforderten Schreibvorgang aus. Solange eine Bedingung nicht erfüllt ist, wird der Schreibvorgang nicht ausgeführt und der Master-Server gibt einen Fehler an den Client zurück, der den Schreibvorgang anfordert.

2. Bereitstellung der Master-Slave-Replikation:

Redis-Master-Slave-Struktur unterstützt einen Master und mehrere Slaves

Master-Knoten: 192.168.1.170

Slave-Knoten: 192.168.1.171

Hinweis: Die Konfiguration aller Slave-Knoten ist gleich

Methode 1: Konfigurationsdatei manuell ändern

Nur Im Slave-Knoten sind zusätzliche Änderungen erforderlich. Das Attribut „slaveof“ in der Redis-Konfigurationsdatei kann

slaveof 192.168.1.170 6379
Nach dem Login kopieren

verwendet werden, um Redis auf dem 170-Master-Knoten zu starten und die Redis-Infoinformationen anzuzeigen (führen Sie den Info-Befehl aus)

Einführung in die Redis-Master-Slave-Replikation

Redis auf dem 171-Slave-Knoten starten

Einführung in die Redis-Master-Slave-Replikation

Redis-Infoinformationen anzeigen

Methode 2: Dynamisch Einstellungen

Stellen Sie über redis-cli eine Verbindung zum Slave-Knotenserver her und führen Sie den folgenden Befehl aus.

Einführung in die Redis-Master-Slave-Replikation

3. Probleme, auf die bei der Master-Slave-Replikation geachtet werden muss:

① Wenn Sie die Master-Slave-Replikation verwenden, stellen Sie sicher, dass Ihr Master hat Persistenz aktiviert oder stellt sicher, dass es nach einem Absturz nicht automatisch neu startet. Der Slave ist ein vollständiges Backup des Masters. Wenn der Master also mit einem leeren Datensatz neu gestartet wird, wird auch der Slave gelöscht.

② Wenn für die Master-Datenbank beim Konfigurieren der Redis-Replikationsfunktion ein Kennwort festgelegt ist, müssen Sie das Kennwort der Master-Datenbank über den Masterauth-Parameter in der Konfigurationsdatei der Slave-Daten festlegen, damit die Slave-Datenbank wird es automatisch verwenden, wenn eine Verbindung zur Master-Datenbank hergestellt wird. Der Authentifizierungsbefehl wird authentifiziert. Es entspricht einem passwortfreien Login.

Verwandte Empfehlungen:

MySQL-Video-Tutorial: https://www.php.cn/course/list/51.html

Das obige ist der detaillierte Inhalt vonEinführung in die Redis-Master-Slave-Replikation. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:oschina.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage