Heim  >  Artikel  >  Datenbank  >  Wie erkennt man Fehler im Redis-Cluster?

Wie erkennt man Fehler im Redis-Cluster?

coldplay.xixi
coldplay.xixiOriginal
2020-06-30 12:56:292590Durchsuche

Methode zur Fehlererkennung im Redis-Cluster: Ändern Sie zuerst das Python-Skript, um alle 1 Sekunde ein Datenelement zu schreiben. Schreiben Sie dann Daten in einer Schleife in den Redis-Cluster und erzwingen Sie das Beenden eines Masterknotens, um die Anwendung zu beobachten Verbindungssituation; Starten Sie abschließend den ausgefallenen 8001-Knoten neu.

Wie erkennt man Fehler im Redis-Cluster?

Methode zur Fehlererkennung im Redis-Cluster: automatischer Failover-Test

Ändern Sie das Python-Skript und schreiben Sie alle 1 Sekunde Der Zweck der Eingabe eines Datenelements besteht darin, die Beobachtung der Auswirkungen auf die Anwendung innerhalb des Zeitraums (ca. 1 Sekunde), in dem der Masterknoten ausfällt und der Cluster automatisch ausfällt, oder der Leistung der Anwendung vor und nach dem automatischen Failover zu erleichtern .

Das folgende Skript schreibt Daten in einer Schleife in den Redis-Cluster. Während der Ausführung wird ein Masterknoten zwangsweise beendet und der Anwendungsverbindungsstatus beobachtet.
Wenn eine Ausnahme auftritt, wird die Anwendung gleichzeitig für 2 Sekunden angehalten, da die oben konfigurierte Cluster-Failover-Zeit 1 Sekunde beträgt. Wenn die Anwendung für 2 Sekunden angehalten wird, kann der Failover-Prozess übersprungen werden , die Anwendung kehrte in den Normalzustand zurück, obwohl Knoten 8001 ausgefallen war, stellte die Anwendung weiterhin eine Verbindung zu Knoten 8001 her, war sich der Anwendung jedoch überhaupt nicht bewusst.

Verwandte Lernempfehlungen: Redis-Video-Tutorial

import timefrom time import ctime,sleepfrom rediscluster import StrictRedisCluster
startup_nodes = [
    {"host":"111.231.253.***", "port":8001},
    {"host":"111.231.253.***", "port":8002},
    {"host":"111.231.253.***", "port":8003},
    {"host":"111.231.253.***", "port":8004},
    {"host":"111.231.253.***", "port":8005},
    {"host":"111.231.253.***", "port":8006}
]
redis_conn= StrictRedisCluster(startup_nodes=startup_nodes, decode_responses=True,password="root")for i in range(0, 100000):    try:
        redis_conn.set('name' + str(i), str(i))        print('setting name' + str(i) +"--->" + time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())))
        time.sleep(1)    except:        print("connect to redis cluster error")
        time.sleep(2)

Ich habe festgestellt, dass nach dem Beenden des Masterknotens nur ein Verbindungsfehler aufgetreten ist, und dann, weil von Redis Das automatische Failover des Clusters verläuft erfolgreich und für das Programm transparent, sodass die Anwendung anschließend normal funktioniert und nicht durch den Ausfall eines der Masterknoten beeinträchtigt wird.

Wie erkennt man Fehler im Redis-Cluster?

Der Status des Clusters ist zu diesem Zeitpunkt, dass Knoten 8001 ausgefallen ist. Offensichtlich übernimmt der Slave-Knoten 8004, der 8001 entspricht, den Master-Knoten, wird zum Master aktualisiert und stellt Dienste für die Außenwelt bereit

Wie erkennt man Fehler im Redis-Cluster?

Beobachten Sie die Protokolle der 8004-Instanz, die auf den Masterknoten aktualisiert wurde. Sie werden feststellen, dass der ursprüngliche 8001-Masterknoten im Inneren gewaltsam getötet wurde 1 Sekunde, 8001 wurde erfolgreich auf den Master-Knoten aktualisiert.
Wenn während des Failover-Prozesses keine Anwendung auf Redis zugreift und die Anwendung nicht einmal weiß, dass im Redis-Cluster ein Failover stattgefunden hat, solange der Master und der Slave Knoten eines bestimmten Knotens im Cluster fallen nicht gleichzeitig aus, es gibt kein Problem im gesamten Cluster und es hat keine Auswirkungen auf die Anwendung. Der Prozess ist vollständig transparent.

Wie erkennt man Fehler im Redis-Cluster?

Starten Sie dann den heruntergefahrenen 8001-Knoten neu und Sie werden feststellen, dass der 8001-Knoten automatisch zum Slave-Knoten seines ursprünglichen Slave-Knotens (8004) wird

Wie erkennt man Fehler im Redis-Cluster?

Das obige ist der detaillierte Inhalt vonWie erkennt man Fehler 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