Redis-Hochverfügbarkeit: Wenn Sie eine Master-Slave-Architektur bereitstellen, müssen Sie nur Sentinels hinzufügen, und Sie können dies erreichen, ohne dass eine Instanz vorhanden ist Die Umschaltung zwischen Aktiv und Standby erfolgt automatisch.
Sentinel-MechanismusDer Server wird überwacht und nach redis2.6 wird ein „Sentinel“-Mechanismus bereitgestellt. Wie der Name schon sagt, besteht die Bedeutung von Sentinel darin, den Betriebsstatus des Redis-Systems zu überwachen. Es können mehrere Sentinels gestartet werden, um den Betriebsstatus der Redis-Datenbank zu überwachen. Seine Hauptfunktionen bestehen aus zwei Punkten:
a. Überwachen Sie, ob alle Knotendatenbanken normal laufen.Das Sentinel-System von Redis wird zur Verwaltung mehrerer Redis-Server verwendet. Das System führt die folgenden drei Aufgaben aus:
Überwachung:
Der Sentinel prüft ständig, ob Ihr Master und Slave normal funktionieren.
Benachrichtigung:Wenn ein Problem mit einem überwachten Redis auftritt, kann der Sentinel über die API Benachrichtigungen an den Administrator oder andere Anwendungen senden.
Automatisches Failover:Wenn ein Master nicht ordnungsgemäß funktioniert, startet der Sentinel einen automatischen Failover-Vorgang und aktualisiert einen der Slaves des ausgefallenen Masters als neuen Master. und lassen Sie andere Slaves des ausgefallenen Masters den neuen Master kopieren. Wenn der Client versucht, eine Verbindung zum ausgefallenen Master herzustellen, gibt der Cluster auch die Adresse des neuen Masters an den Client zurück, sodass der Cluster den Master verwenden kann Ersetzen Sie den ausgefallenen Master.
Sentinel ist ein verteiltes SystemSie können mehrere Sentinel-Prozesse in einer Architektur ausführen. Diese Prozesse verwenden Gossip-Protokolle, um Informationen darüber zu erhalten, ob der Master offline ist, und verwenden Abstimmungsprotokolle (Vereinbarung). Protokolle), um zu entscheiden, ob ein automatisches Failover durchgeführt werden soll und welcher Slave als neuer Master ausgewählt werden soll.
Jeder Sentinel meldet sich bei anderen Sentinels. Der Master und der Slave senden regelmäßig Nachrichten, um zu bestätigen, ob die andere Partei „am Leben“ ist. . Wenn die andere Partei nicht innerhalb der angegebenen Zeit (konfigurierbar) antwortet, gilt die andere Partei vorübergehend als ausgefallen (die sogenannte „subjektive Ausfallzeit“).Wenn die meisten Sentinels in der „Sentinel-Gruppe“ melden, dass ein bestimmter Master nicht antwortet, betrachtet das System den Master über einen bestimmten Zeitraum hinweg als „völlig tot“ (dh: objektiv ausgefallen, Objective Down, auch als odown bezeichnet). Abstimmungsalgorithmus, wählen Sie einen der verbleibenden Slave-Knoten aus, der zum Master befördert werden soll, und ändern Sie dann automatisch die entsprechende Konfiguration.
Sentinel wird zwar als separate ausführbare Datei veröffentlicht, Redis -Sentinel, aber tatsächlich ist es nur ein Redis-Server läuft in einem speziellen Modus Sie können Sentinel starten, indem Sie beim Starten eines normalen Redis-Servers die Option --sentinel angeben.
Das obige ist der detaillierte Inhalt vonSo stellen Sie eine hohe Verfügbarkeit von Redis sicher. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!