Heim >Datenbank >Redis >So stellen Sie die Datenkonsistenz zwischen Knoten im Redis-Cluster sicher

So stellen Sie die Datenkonsistenz zwischen Knoten im Redis-Cluster sicher

(*-*)浩
(*-*)浩Original
2019-11-20 14:16:357332Durchsuche

So stellen Sie die Datenkonsistenz zwischen Knoten im Redis-Cluster sicher

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ührt

Das 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!

Stellungnahme:
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