Heim  >  Artikel  >  Datenbank  >  Lassen Sie uns über den Sentry-Modus in Redis sprechen

Lassen Sie uns über den Sentry-Modus in Redis sprechen

青灯夜游
青灯夜游nach vorne
2021-05-11 11:35:132089Durchsuche

Dieser Artikel führt Sie durch den Sentinel-Modus in Redis. Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird für alle hilfreich sein.

Lassen Sie uns über den Sentry-Modus in Redis sprechen

Die Methode der Master-Slave-Umschalttechnologie ist:

  • Wenn der Master-Server ausfällt, müssen Sie manuell vom Slave-Server zum Master-Slave-Server wechseln (slaveof no one), was einen manuellen Eingriff erfordert .
  • Dies ist zeitaufwändig und mühsam, führt aber auch dazu, dass der Dienst für einen bestimmten Zeitraum nicht verfügbar ist. Dies ist kein empfohlener Ansatz.
  • Mehr Zeit, wir priorisieren den Sentinel-Modus, den aktuellen Mainstream-Modus für Unternehmensanwendungen. Redis Sentinel ist eine „hochverfügbare Implementierung“ von Redis. Sentinel ist ein Tool zur Verwaltung mehrerer Redis-Instanzen. Es kann
  • überwachen
  • , Redis benachrichtigen und Failover automatisieren. Zu den Grundkonzepten der Redis Sentinel-Funktionen Zu den Hauptfunktionen von Sentinel gehören:
Überlebenserkennung des Masterknotens, Erkennung des Master-Slave-Betriebs, automatisches Failover und Master-Slave-Umschaltung.

Die minimale Tag-Konfiguration von Redis ist ein Master und ein Slave.

Das Sentinel-System von Redis kann zur Verwaltung mehrerer Redis-Server verwendet werden.

Das System kann die folgenden vier Aufgaben ausführen: Lassen Sie uns über den Sentry-Modus in Redis sprechen

1. Überwachung: Sentinel prüft ständig, ob der Master-Server und die Slave-Server normal funktionieren Automatischer Failover: Wenn der Masterknoten nicht ordnungsgemäß funktioniert, leitet Sentinel einen automatischen Failover-Vorgang ein. Es aktualisiert einen der Slave-Knoten in einer Master-Slave-Beziehung mit dem ausgefallenen Master-Knoten auf den neuen Master-Knoten und verweist die anderen Slave-Knoten auf den neuen Master-Knoten

4, Lassen Sie uns über den Sentry-Modus in Redis sprechenKonfigurationsanbieter: Im Redis Sentinel-Modus, Wann Beim Initialisieren der Clientanwendung wird eine Verbindung zur Sammlung von Sentinel-Knoten hergestellt, um die Informationen des Masterknotens abzurufen.

Funktionsweise von Redis Sentinel

Wenn der Sentinel-Knoten eine Verbindung zur Redis-Instanz herstellt, werden zwei erstellt Verbindungen: cmd und pub/sub. Sentinel sendet Befehle über cmd-Verbindungen an Redis und über Pub/Sub-Verbindungen an andere Sentinel-Instanzen auf der Redis-Instanz.
  • Befehle für Sentinel zur Interaktion mit Redis-Master- und -Slave-Knoten
  • Jeder Sentinel sendet jede Sekunde einen PING-Befehl an seine bekannten Master-Instanzen, Slave-Instanzen und andere Sentinel-Instanzen.
Wenn eine Instanz seit der letzten gültigen Antwort (in Millisekunden) auf den PING-Befehl länger als die von down angegebene Zeit benötigt, markiert Sentinel die Instanz als

Subjektiv offline.

Wenn der Master-Server als subjektive Abmeldung markiert ist, werden alle Sentinel-Knoten des Master-Servers einmal pro Sekunde überwacht, um zu bestätigen, dass der Master-Server tatsächlich in den subjektiven Abmeldestatus eingetreten ist.

Wenn der Master-Server als subjektiv abgemeldet markiert ist und innerhalb des angegebenen Zeitraums genügend Sentinels (mindestens die in der Konfigurationsdatei angegebene Anzahl) vorhanden sind, die dieser Beurteilung entsprechen, wird der Master-Server als markiert objektiv offline.

  • Normalerweise sendet jeder Sentinel alle 10 Sekunden einen INFO-Befehl an alle ihm bekannten Master und Slaves. Wenn Sentinel einen Master-Server als offline markiert, ändert sich die Häufigkeit, mit der Sentinel INFO-Befehle an alle Slave-Server des Offline-Master-Servers sendet, von einmal alle 10 Sekunden auf einmal jede Sekunde.

Lassen Sie uns über den Sentry-Modus in Redis sprechen

    Sentinel verhandelt den Status des Masterknotens mit anderen Sentinels. Befindet sich der Masterknoten im SDOWN-Zustand, wird bei der Abstimmung automatisch ein neuer Masterknoten ausgewählt. Richten Sie die verbleibenden Slave-Knoten zur Datenreplikation
  • auf den neuen Master-Knoten .

Lassen Sie uns über den Sentry-Modus in Redis sprechen

  • Wenn nicht genügend Wachposten vorhanden sind, um dem Meister das Abmelden zu ermöglichen, wird der objektive Abmeldestatus des Meisters entfernt. Wenn der Master eine gültige Antwort auf den PING-Befehl von Sentinel zurückgibt, wird der subjektive Offline-Status des Masters entfernt.

Lassen Sie uns über den Sentry-Modus in Redis sprechen

  • Hinweis

Ein robuster Redis Sentinel-Cluster sollte mindestens drei Sentinel-Instanzen verwenden und sicherstellen, dass diese Instanzen auf verschiedenen Maschinen oder sogar in verschiedenen physischen Bereichen platziert werden.
Sentinel kann keine starke Konsistenz garantieren . Sentinel wird in gängigen Client-Anwendungsbibliotheken unterstützt.
Sentinel muss ständig getestet und beobachtet werden, um eine hohe Verfügbarkeit sicherzustellen.

Testen. Konfigurationsdatei erstellen. Der Inhalt wird einfach wie folgt konfiguriert:
port 16379  # 哨兵端口号
daemonize yes
sentinel monitor master 127.0.0.1 6379 1    # 监视master
protected-mode no
logfile "/usr/local/bin/sentinel-1/sentinel-1.log"   # 日志文件
. Erster Start Redis-Setup-Cluster und starten Sie Redis-Cli, legen Sie 6379 als Master fest

Lassen Sie uns über den Sentry-Modus in Redis sprechen und starten Sie dann Sentinel

sudo redis-sentinel sentinel-1/sentinel.conf

Schließen Sie 6379

1Lassen Sie uns über den Sentry-Modus in Redis sprechen

Rollen anzeigen der anderen beiden Redis-Cli

1Lassen Sie uns über den Sentry-Modus in Redis sprechen

Starten Sie 6379 neu.

13 .png

Sehen Sie sich das Sentinel-Protokoll an Besuchen Sie:

Programmierunterricht1Lassen Sie uns über den Sentry-Modus in Redis sprechen! !

Das obige ist der detaillierte Inhalt vonLassen Sie uns über den Sentry-Modus in Redis sprechen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:juejin.cn. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen