Heim  >  Artikel  >  Datenbank  >  Lassen Sie uns über den Sentinel-Modus (Sentine) in Redis sprechen

Lassen Sie uns über den Sentinel-Modus (Sentine) in Redis sprechen

青灯夜游
青灯夜游nach vorne
2021-11-29 19:18:332280Durchsuche

In diesem Artikel erfahren Sie mehr über den Sentinel-Modus (Sentine) in Redis, stellen den Funktionsmechanismus von Sentinel vor und erfahren, wie Sie den Sentinel-Modus erstellen.

Lassen Sie uns über den Sentinel-Modus (Sentine) in Redis sprechen

Der Redis Sentinel-Modus ist ein verteiltes System. Sie können mehrere Sentinel-Prozesse (Progress) in einer Architektur ausführen. Diese Prozesse verwenden Gossip-Protokolle, um Informationen darüber zu erhalten, ob der Hauptserver offline ist. um zu entscheiden, ob ein automatisches Failover durchgeführt werden soll und welcher Slave-Server als neuer Master-Server ausgewählt werden soll. [Verwandte Empfehlungen: Redis-Video-Tutorial]

Das Sentinel-System von Redis wird zur Verwaltung mehrerer Redis-Server (Instanzen) verwendet. Das System führt die folgenden drei Aufgaben aus:

  • Überwachung (Überwachung): Sentinel überprüft Sie ständig Ob der Master-Server und der Slave-Server normal funktionieren.
  • Benachrichtigung: Wenn ein Problem mit einem überwachten Redis-Server auftritt, kann Sentinel über die API Benachrichtigungen an den Administrator oder andere Anwendungen senden.
  • Automatisches Failover: Wenn ein Master-Server nicht ordnungsgemäß funktionieren kann, startet Sentinel einen automatischen Failover-Vorgang. Dabei wird einer der Slave-Server des ausgefallenen Master-Servers auf den neuen Master-Server aktualisiert und andere Slave-Server des ausgefallenen Servers aktiviert Der Master-Server wird geändert, um den neuen Master-Server zu replizieren. Wenn der Client versucht, eine Verbindung zum ausgefallenen Master-Server herzustellen, gibt der Cluster auch die Adresse des neuen Master-Servers an den Client zurück, sodass der Cluster den neuen Master-Server verwenden kann Ersetzen Sie den ausgefallenen Server.

Sentinel-Arbeitsmechanismus

  • Jeder Sentinel sendet einmal pro Sekunde einen PING-Befehl an den Master, den Slave und andere ihm bekannte Sentinel-Instanzen

  • Wenn eine Instanz weit von der letzten gültigen Antwort auf den PING-Befehl entfernt ist Wenn die Zeit den durch die Option down-after-milliseconds angegebenen Wert überschreitet, wird die Instanz von Sentinel als subjektiv offline markiert.

  • Wenn ein Master als subjektiv offline markiert ist, müssen alle Sentinels, die diesen Master überwachen, einmal pro Sekunde bestätigen, dass der Master tatsächlich in den subjektiven Offline-Zustand übergegangen ist

  • Wenn eine ausreichende Anzahl von Sentinels vorhanden ist (mehr als entspricht dem in der Konfigurationsdatei angegebenen Wert) und bestätigen Sie, dass der Master tatsächlich innerhalb des angegebenen Zeitraums in den subjektiven Offline-Status eingetreten ist. Der Master wird als objektiv offline markiert. Unter normalen Umständen wird jeder Sentinel angemeldet einmal alle 10 Sekunden Die Häufigkeit, mit der INFO-Befehle an alle ihm bekannten Master und Slaves gesendet werden einmal alle 10 Sekunden bis einmal alle 1 Sekunde

  • Wenn nicht genügend Wächter vorhanden sind, um zuzustimmen, dass der Master offline ist, wird der objektive Offline-Status des Masters entfernt; Wenn der Master erneut eine gültige Antwort auf den PING-Befehl des Sentinel zurückgibt, wird der subjektive Offline-Status des Masters entfernt.

  • Sentinel-Modus-Konstruktion. Ändern Sie direkt die Sentinel-Konfigurationsdatei. Entsprechender Ordner Redis6379-Redis6381

    master:127.0.0.1:6379 【初始化master】
    
    slave:127.0.0.1:6380  127.0.0.1:6381
    
    sentinel:127.0.0.1:26379  127.0.0.1:26380  127.0.0.1:26381
  • Startbefehl
  • # 监控节点,且超过2个sentinel 任务故障,方可执行故障转移
    sentinel monitor mymaster 127.0.0.1 6379 2
    # 如果节点在 30000毫秒内未回应,就认为故障
    sentinel down-after-milliseconds mymaster 30000
    # 如果故障转移后,同时进行主从复制数为 1
    sentinel parallel-syncs mymaster 1
    # 故障转移的超时时间
    sentinel failover-timeout mymaster 180000
    sentinel deny-scripts-reconfig yes

    Weitere Programmierkenntnisse finden Sie unter:

    Einführung in die Programmierung
  • ! !

Das obige ist der detaillierte Inhalt vonLassen Sie uns über den Sentinel-Modus (Sentine) 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