Inhaltsverzeichnis
1. Was ist Redis Sentinel?
2. Was kann Sentinel?
3. So starten Sie redis-sentinel /path/to/sentinel.conf
Durch die obige Analyse kann Sentinel ein automatisches Failover durch geplante Überwachung erreichen. Bei einem einzelnen Masterknoten besteht jedoch immer noch die Möglichkeit eines Datenverlusts, und wenn die Leistung eines Die Anzahl der einzelnen Maschinen ist begrenzt, es gibt keine horizontale Erweiterungsmöglichkeit. Weitere Kenntnisse zum Thema Programmierung finden Sie unter:
Heim Datenbank Redis Eine kurze Analyse des Prinzips des Sentry-Modus in Redis

Eine kurze Analyse des Prinzips des Sentry-Modus in Redis

Jan 25, 2022 am 10:36 AM
redis

Dieser Artikel vermittelt Ihnen ein detailliertes Verständnis der Prinzipien des Redis-Sentinel-Modus, spricht darüber, was Sentinel kann, startet die Sentinel-Methode und den Sentinel-Workflow. Ich hoffe, er wird Ihnen hilfreich sein!

Eine kurze Analyse des Prinzips des Sentry-Modus in Redis

Das Obige stellt das Prinzip der Redis-Master-Slave-Replikation vor, das das Problem der Redis-Datensicherung löst. Nachdem der Master-Knoten ausgefallen ist, kann kein neuer Master-Knoten automatisch ausgewählt werden, sondern der Slave-Knoten Manuell als Masterknoten festgelegt, geringe Effizienz und kein automatisches Failover möglich. Redis bietet offiziell eine Hochverfügbarkeitslösung.

1. Was ist Redis Sentinel?

Redis Sentinel ist die offizielle Hochverfügbarkeitslösung für Redis. Redis Sentinel bietet Hochverfügbarkeit für Redis. In der Praxis bedeutet dies, dass Sie mit Sentinel einen Redis-Cluster erstellen können, der gegen bestimmte Arten von Fehlern resistent ist und automatisch ein Failover ohne menschliches Eingreifen implementiert. [Verwandte Empfehlungen: Redis-Video-Tutorial]

2. Was kann Sentinel?

1. Überwachen Sie den Gesundheitszustand von Redis-Clusterknoten (Master + Replikat) und Sentinel-Knoten

2. Automatisches Failover: Wenn der Master ausfällt, kann Sentinel ein Failover implementieren und den Client benachrichtigen, eine Verbindung zum neuen Master herzustellen.

3. Benachrichtigung: Über die API können Benachrichtigungen an Administratoren und Entwickler gesendet werden, und die überwachte Redis-Instanz schlägt fehl.

4: Der Client stellt eine Verbindung zum Sentinel her und Sentinel kann auf die Master- und Rückgabeknoteninformationen zugreifen der Client.

3. So starten Sie redis-sentinel /path/to/sentinel.conf

2. conf-Konfigurationsanweisungen lauten wie folgt:

# 配置需要监控的master节点信息 2代表法定人数 作用是表示需要最少需要多少个sentinel节点同意
#master节点不可达才标记为客观下线
#举例 5个sentinel实例 quorum设置成2 那么有2个sentinel节点认为master不可达,
#则其中一个会启动故障转移#如果至少有三个哨兵可到达,故障转移将被授权并实际启动。
sentinel monitor mymaster 127.0.0.1 6379 2 
#只需要配置master sentinel会自动检测slave信息
sentinel down-after-milliseconds mymaster 60000 
#如果master在指定时间内没有响应ping命令/或报错,则认为主观下线了。
sentinel failover-timeout mymaster 180000
sentinel parallel-syncs mymaster 1 
#指定故障转移的时候,同时支持多少个replica并行的与master同步数据,越小故障转移越久
#以上配置可以通过SENTINEL SET command.来实时修改。
sentinel monitor resque 192.168.1.3 6380 4
sentinel down-after-milliseconds resque 10000
sentinel failover-timeout resque 180000
sentinel parallel-syncs resque 5
Nach dem Login kopieren

Hinweis:

Redis-Sentinel muss gemäß der Konfigurationsdatei wiederhergestellt werden. Der Portzugriff muss zwischen Sentinels geöffnet sein den gegenseitigen Zugang erleichtern.

4. Sentinel-Workflow

1. Zunächst realisiert der Sentinel die dynamische Wahrnehmung durch den Pub/Subscribe-Mechanismus.

2. Wie spürt Sentinel, dass der Meister gestorben ist?

Eine kurze Analyse des Prinzips des Sentry-Modus in RedisHier gibt es zwei Situationen: Zum einen geht der Master subjektiv offline, zum anderen geht der Master objektiv offline.

Subjektiv offline: Jeder Sentinel sendet alle 1 Sekunde einen Ping-Befehl an den Master. Wenn der Master nicht innerhalb von Millisekunden antwortet, geht der Sentinel-Knoten davon aus, dass der Master subjektiv offline ist.

Ziel offline:

Eine kurze Analyse des Prinzips des Sentry-Modus in RedisWenn der Knoten, der subjektiv offline ist, der Masterknoten ist, sucht der Sentinel-Knoten über den Befehl nach der Beurteilung anderer Sentinel-Knoten auf dem Masterknoten in der Sentinel-Konfiguration ist überschritten) (Anzahl der Personen). Zu diesem Zeitpunkt geht der Sentinel-Knoten davon aus, dass tatsächlich ein Problem mit dem Master-Knoten vorliegt, sodass er objektiv offline ist soll objektiv offline sein.

Beachten Sie, dass das Offline-Ziel nur für den Master-Knoten wirksam wird. Es wird ein Failover ausgelöst.

3 Der Master ist offline und ein Failover ist erforderlich. Zunächst müssen Sie den Sentinel-Master auswählen Knoten und verwenden Sie den Sentinel-Masterknoten, um ein Redis-Failover durchzuführen. sentinel is-masterdown-by-addr

Zunächst wählt der Sentinel den Anführer. Verwenden Sie den Raft-Algorithmus (Staatskonsens-Algorithmus).

Jeder Sentinel-Knoten kann zum Leader werden. Wenn ein Sentinel-Knoten bestätigt, dass der Master-Knoten des Redis-Clusters subjektiv offline ist, fordert er andere Sentinel-Knoten auf, sich selbst zum Leader zu wählen. Wenn der angeforderte Sentinel-Knoten dem Wahlantrag anderer Sentinel-Knoten nicht zugestimmt hat, wird er dem Antrag zustimmen (Wahlstimme + 1), andernfalls wird er nicht zustimmen.

Wenn die Anzahl der Wahlstimmen, die ein Sentinel-Knoten erhält, die Mindestanzahl der Leader-Stimmen erreicht (den Höchstwert des Quorums und die Anzahl der Sentinel-Knoten/2+1), wird der Sentinel-Knoten zum Leader gewählt, andernfalls erfolgt die Wahl wird erneut ausgeführt.

Grundgedanke des Floßes: Wer zuerst kommt, mahlt zuerst, die Minderheit gehorcht der Mehrheit.

Nachdem Sentinel den Masterknoten ausgewählt hat, muss der Sentinel-Masterknoten den Redis-Cluster-Masterknoten auswählen, um eine neue Clusterbeziehung aufzubauen.

Die Grundlage für die Wahl eines neuen Redis-Masterknotens ist:

1. Die Zeit, um die Verbindung zum Sentinel zu trennen. Filtern Sie die Replika-Slaves, die länger als die konfigurierte Host-Timeout-Zeit nach Millisekunden vom Haupt-Sentinel-Server getrennt wurden

2. Geben Sie denjenigen mit niedriger Replikationspriorität Vorrang.

3. Wenn die Prioritäten gleich sind, wurde der Kopierversatz verarbeitet. Je größer der Wert, desto höher die Priorität, was eher der Funktion des Geschäftsszenarios entspricht.

4. Wenn die Kopierversätze gleich sind, schauen Sie sich die laufende ID an. Bevorzugen Sie kleine.

Nachdem Sie den Masterknoten ausgewählt haben, beginnen Sie mit der Pflege der Clusterbeziehung.

1. Sentinel-Knoten, senden Sie den Slave-No-One-Befehl an den neuen Master-Knoten, um ihn zu einem unabhängigen Knoten zu machen.

2. Sentinel-Knoten, senden Sie den Slave-IP-Port an andere Knoten, folgen Sie dem Master-Knoten

Durch die obige Analyse kann Sentinel ein automatisches Failover durch geplante Überwachung erreichen. Bei einem einzelnen Masterknoten besteht jedoch immer noch die Möglichkeit eines Datenverlusts, und wenn die Leistung eines Die Anzahl der einzelnen Maschinen ist begrenzt, es gibt keine horizontale Erweiterungsmöglichkeit. Weitere Kenntnisse zum Thema Programmierung finden Sie unter:

Einführung in die Programmierung

! !

Das obige ist der detaillierte Inhalt vonEine kurze Analyse des Prinzips des Sentry-Modus in Redis. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So erstellen Sie den Redis -Clustermodus So erstellen Sie den Redis -Clustermodus Apr 10, 2025 pm 10:15 PM

Der Redis -Cluster -Modus bietet Redis -Instanzen durch Sharding, die Skalierbarkeit und Verfügbarkeit verbessert. Die Bauschritte sind wie folgt: Erstellen Sie ungerade Redis -Instanzen mit verschiedenen Ports; Erstellen Sie 3 Sentinel -Instanzen, Monitor -Redis -Instanzen und Failover; Konfigurieren von Sentinel -Konfigurationsdateien, Informationen zur Überwachung von Redis -Instanzinformationen und Failover -Einstellungen hinzufügen. Konfigurieren von Redis -Instanzkonfigurationsdateien, aktivieren Sie den Cluster -Modus und geben Sie den Cluster -Informationsdateipfad an. Erstellen Sie die Datei nodes.conf, die Informationen zu jeder Redis -Instanz enthält. Starten Sie den Cluster, führen Sie den Befehl erstellen aus, um einen Cluster zu erstellen und die Anzahl der Replikate anzugeben. Melden Sie sich im Cluster an, um den Befehl cluster info auszuführen, um den Clusterstatus zu überprüfen. machen

So löschen Sie Redis -Daten So löschen Sie Redis -Daten Apr 10, 2025 pm 10:06 PM

So löschen Sie Redis -Daten: Verwenden Sie den Befehl Flushall, um alle Schlüsselwerte zu löschen. Verwenden Sie den Befehl flushdb, um den Schlüsselwert der aktuell ausgewählten Datenbank zu löschen. Verwenden Sie SELECT, um Datenbanken zu wechseln, und löschen Sie dann FlushDB, um mehrere Datenbanken zu löschen. Verwenden Sie den Befehl del, um einen bestimmten Schlüssel zu löschen. Verwenden Sie das Redis-Cli-Tool, um die Daten zu löschen.

So lesen Sie Redis -Warteschlange So lesen Sie Redis -Warteschlange Apr 10, 2025 pm 10:12 PM

Um eine Warteschlange aus Redis zu lesen, müssen Sie den Warteschlangenname erhalten, die Elemente mit dem Befehl LPOP lesen und die leere Warteschlange verarbeiten. Die spezifischen Schritte sind wie folgt: Holen Sie sich den Warteschlangenname: Nennen Sie ihn mit dem Präfix von "Warteschlange:" wie "Warteschlangen: My-Queue". Verwenden Sie den Befehl LPOP: Wischen Sie das Element aus dem Kopf der Warteschlange aus und geben Sie seinen Wert zurück, z. B. die LPOP-Warteschlange: my-queue. Verarbeitung leerer Warteschlangen: Wenn die Warteschlange leer ist, gibt LPOP NIL zurück, und Sie können überprüfen, ob die Warteschlange existiert, bevor Sie das Element lesen.

So verwenden Sie den Befehl Redis So verwenden Sie den Befehl Redis Apr 10, 2025 pm 08:45 PM

Die Verwendung der REDIS -Anweisung erfordert die folgenden Schritte: Öffnen Sie den Redis -Client. Geben Sie den Befehl ein (Verbschlüsselwert). Bietet die erforderlichen Parameter (variiert von der Anweisung bis zur Anweisung). Drücken Sie die Eingabetaste, um den Befehl auszuführen. Redis gibt eine Antwort zurück, die das Ergebnis der Operation anzeigt (normalerweise in Ordnung oder -err).

So verwenden Sie Redis Lock So verwenden Sie Redis Lock Apr 10, 2025 pm 08:39 PM

Um die Operationen zu sperren, muss die Sperre durch den Befehl setNX erfasst werden und dann den Befehl Ablauf verwenden, um die Ablaufzeit festzulegen. Die spezifischen Schritte sind: (1) Verwenden Sie den Befehl setNX, um zu versuchen, ein Schlüsselwertpaar festzulegen; (2) Verwenden Sie den Befehl Ablauf, um die Ablaufzeit für die Sperre festzulegen. (3) Verwenden Sie den Befehl Del, um die Sperre zu löschen, wenn die Sperre nicht mehr benötigt wird.

So lesen Sie den Quellcode von Redis So lesen Sie den Quellcode von Redis Apr 10, 2025 pm 08:27 PM

Der beste Weg, um Redis -Quellcode zu verstehen, besteht darin, Schritt für Schritt zu gehen: Machen Sie sich mit den Grundlagen von Redis vertraut. Wählen Sie ein bestimmtes Modul oder eine bestimmte Funktion als Ausgangspunkt. Beginnen Sie mit dem Einstiegspunkt des Moduls oder der Funktion und sehen Sie sich die Codezeile nach Zeile an. Zeigen Sie den Code über die Funktionsaufrufkette an. Kennen Sie die von Redis verwendeten Datenstrukturen. Identifizieren Sie den von Redis verwendeten Algorithmus.

So konfigurieren Sie die Ausführungszeit der Lua -Skript in CentOS Redis So konfigurieren Sie die Ausführungszeit der Lua -Skript in CentOS Redis Apr 14, 2025 pm 02:12 PM

Auf CentOS -Systemen können Sie die Ausführungszeit von LuA -Skripten einschränken, indem Sie Redis -Konfigurationsdateien ändern oder Befehle mit Redis verwenden, um zu verhindern, dass bösartige Skripte zu viele Ressourcen konsumieren. Methode 1: Ändern Sie die Redis -Konfigurationsdatei und suchen Sie die Redis -Konfigurationsdatei: Die Redis -Konfigurationsdatei befindet sich normalerweise in /etc/redis/redis.conf. Konfigurationsdatei bearbeiten: Öffnen Sie die Konfigurationsdatei mit einem Texteditor (z. B. VI oder Nano): Sudovi/etc/redis/redis.conf Setzen Sie die LUA -Skriptausführungszeit.

So verwenden Sie die Befehlszeile der Redis So verwenden Sie die Befehlszeile der Redis Apr 10, 2025 pm 10:18 PM

Verwenden Sie das Redis-Befehlszeilen-Tool (REDIS-CLI), um Redis in folgenden Schritten zu verwalten und zu betreiben: Stellen Sie die Adresse und den Port an, um die Adresse und den Port zu stellen. Senden Sie Befehle mit dem Befehlsnamen und den Parametern an den Server. Verwenden Sie den Befehl Hilfe, um Hilfeinformationen für einen bestimmten Befehl anzuzeigen. Verwenden Sie den Befehl zum Beenden, um das Befehlszeilenwerkzeug zu beenden.

See all articles