Heim >Datenbank >Redis >So verhindern Sie Split-Brain im Redis-Cluster

So verhindern Sie Split-Brain im Redis-Cluster

(*-*)浩
(*-*)浩Original
2019-11-20 14:39:297595Durchsuche

So verhindern Sie Split-Brain im Redis-Cluster

Was ist Redis Cluster Split Brain?

Die Aufteilung des Redis-Clusters bedeutet, dass sich der Redis-Masterknoten, der Redis-Slave-Knoten und der Sentinel-Cluster aufgrund von Netzwerkproblemen in unterschiedlichen Netzwerkpartitionen befinden. Zu diesem Zeitpunkt kann der Sentinel-Cluster die Existenz nicht erkennen des Masters, also befördern Sie den Slave-Knoten zum Master-Knoten. (Empfohlenes Lernen: Redis-Video-Tutorial )

Zu diesem Zeitpunkt gibt es zwei verschiedene Masterknoten, genau wie ein Gehirn in zwei geteilt ist.

Wenn der Client beim Cluster-Split-Brain-Problem weiterhin Daten basierend auf dem ursprünglichen Masterknoten schreibt, kann der neue Masterknoten die Daten nicht synchronisieren. Wenn das Netzwerkproblem behoben ist, wird der Sentinel angezeigt Der Cluster ersetzt den ursprünglichen Master-Knoten durch den ursprünglichen Master-Knoten. Zu diesem Zeitpunkt führt die Synchronisierung der Daten vom neuen Master zu einem großen Datenverlust.

So verhindern Sie Split-Brain im Redis-ClusterLösung

In der Redis-Konfigurationsdatei gibt es zwei Parameter

min-slaves-to-write 3
min-slaves-max-lag 10

Der erste Parameter zeigt an Mindestanzahl der mit dem Master verbundenen Slaves

Der zweite Parameter gibt die maximale Verzögerungszeit an, die der Slave benötigt, um eine Verbindung zum Master herzustellen

Wenn die Anzahl der mit dem Master verbundenen Slaves geringer ist als die erste Parameter und die Ping-Verzögerung. Wenn die Zeit kleiner oder gleich dem zweiten Parameter ist, lehnt der Master die Schreibanforderung ab. Nach der Konfiguration dieser beiden Parameter lehnt der ursprüngliche Masterknoten die Schreibanforderung ab, wenn es zu einer Cluster-Brain-Split kommt vom Client, wodurch der Umfang der Datensynchronisierung verringert werden kann.

Hinweis: Die Parameter in der neueren Version der Datei redis.conf wurden zu

min-replicas-to-write 3
min-replicas-max-lag 10

Das Datenverlustproblem bei der asynchronen Replikation in Redis kann auch diese beiden Parameter verwenden

Das obige ist der detaillierte Inhalt vonSo verhindern Sie Split-Brain im Redis-Cluster. 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
Vorheriger Artikel:Was macht der Redis-Cluster?Nächster Artikel:Was macht der Redis-Cluster?