Heim  >  Artikel  >  Datenbank  >  So stellen Sie eine hohe Verfügbarkeit von Redis sicher

So stellen Sie eine hohe Verfügbarkeit von Redis sicher

(*-*)浩
(*-*)浩Original
2019-11-20 14:49:503288Durchsuche

So stellen Sie eine hohe Verfügbarkeit von Redis sicher

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-Mechanismus                                                                                                                                                                                                                                    Der 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.


b. Wenn die Master-Datenbank ausfällt, kann über den Abstimmungsmechanismus automatisch ein neuer Master vom Slave-Knoten gewählt werden, um einen automatischen Wechsel von der Slave-Datenbank zur Master-Datenbank zu erreichen.


In einem Redis-System mit einem Master und mehreren Slaves können mehrere Sentinels zur Durchführung von Überwachungsaufgaben verwendet werden, um sicherzustellen, dass das System robust genug ist. Zu diesem Zeitpunkt überwacht der Sentinel nicht nur gleichzeitig die Master-Datenbank und die Slave-Datenbank, sondern die Sentinels überwachen sich auch gegenseitig. Hier empfiehlt es sich, mindestens 3 Wachposten einzusetzen und eine ungerade Anzahl an Wachposten einzusetzen.


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 System Sie 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!

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