Um sicherzustellen, dass der Cluster auch dann normal funktionieren kann, wenn einige Knoten offline sind oder nicht mit den meisten Knoten des Clusters kommunizieren können.
Der Redis-Cluster verwendet die Master-Slave-Replikationsfunktion für Knoten: Jeder Knoten im Cluster verfügt über 1 bis N Replikate, von denen eines der Masterknoten (Master) ist und die restlichen N -1 Replikate sind Slave-Knoten. (Empfohlenes Lernen: Redis-Video-Tutorial)
Mehrere gängige Methoden der Redis-Master-Slave-Replikation
Ein Master und zwei Slaves A(B, C) Ein Master und zwei Slaves
Das Feuer weitergeben (Dezentralisierung) A - B - C, B ist sowohl der Master-Knoten (Cs Master-Knoten) als auch der Slave-Knoten (As Slave-Knoten)
Anti-Kundenbasiert (nach dem Ausfall des Master-Knotens wird der Slave-Knoten manuell zum Master-Knoten hochgestuft) & Sentinel-Modus (nach dem Ausfall des Master-Knotens wird der Slave-Knoten automatisch zum Master-Knoten hochgestuft)
Master-Slave-Replikation:
1. 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 von der Master-Datenbank synchronisierte Daten , eine Master-Datenbank kann mehrere Slave-Datenbanken haben und eine Slave-Datenbank kann nur eine Master-Datenbank haben.
2. Die Replikationsfunktion von Redis kann das Lesen und Schreiben der Datenbank effektiv trennen und die Auslastungskapazität des Servers verbessern. Die Master-Datenbank führt hauptsächlich Schreibvorgänge aus, während die Slave-Datenbank für Lesevorgänge verantwortlich ist. 1: Wenn eine Slave-Datenbank startet, sendet sie einen Synchronisierungsbefehl an die Master-Datenbank. 2: Nachdem die Master-Datenbank den Synchronisierungsbefehl empfangen hat, beginnt sie, Snapshots im Hintergrund zu speichern (Durchführen von RDB-Vorgängen) Und Zwischenspeichern der 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ührtDas obige ist der detaillierte Inhalt vonSo stellen Sie die Datenkonsistenz zwischen Knoten im Redis-Cluster sicher. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!