Standaloan (Standalone-Modus)
Standaloan ist der Redis-Standalone-Modus, mit dem alle Dienste verbunden sind Ein Redis-Dienst, dieser Modus ist nicht für die Produktion geeignet. Wenn es zu Ausfallzeiten und einer Speicherexplosion kommt, kann dies zu einem Cache-Ausfall aller mit Redis verbundenen Dienste und zu einer Lawine führen. (Empfohlen: Redis-Video-Tutorial)
ssentinel (Sentinel-Modus)
redis-Sentinel (Sentinel-Modus) ist die von offiziell empfohlene Hochverfügbarkeit Redis (HA)-Lösung: Wenn Redis als Hochverfügbarkeitslösung für Master-Slave verwendet wird und der Master ausfällt, implementiert Redis selbst (einschließlich vieler seiner Clients) keine automatische Master-Slave-Umschaltung, Redis-Sentinel selbst jedoch Da es sich nicht um einen unabhängig laufenden Prozess handelt, kann er mehrere Master-Slave-Cluster überwachen und umschalten, wenn festgestellt wird, dass der Master ausgefallen ist
Sentinel implementiert die folgenden Funktionen
(1) Überwachung: Überwachen, ob Redis normal läuft
(2) Benachrichtigung: Benachrichtigung der Anwendung über Fehlermeldungen
(3) Failover: Wenn ein Master ausfällt, wählen Sie einen anderen Slave für das Upgrade aus Der Master aktualisiert die Master-Slave-Beziehung.
(4) Konfigurationsanbieter: Client erhält die Redis-Adresse über Sentinel und aktualisiert die Adresse während des Failovers
2 Konfiguration In der Datei wird nur die Master-Adresse konfiguriert, und die Slave-Adresse und die Sentinel-Adresse können automatisch erkannt werden.
(1) Sentinels – Sentinels tauschen Informationen über Redis Pub/Sub aus.
(2) Sklaven – hol sie dir, indem du den Meister fragst.
3. Sdown, Odown, Failover
Die Fehlererkennung erfolgt im Allgemeinen über den Sdown-Mechanismus (subjektiver Offline-Mechanismus) und den Odown-Mechanismus (objektiver Offline-Mechanismus). Die Clusterskala ist groß, die Erkennung ist objektiver
(1) sdwon – Ping-Pong schlägt innerhalb von Millisekunden fehl (konfigurierbar). Der Slave von Sdown kann nicht zum Master aufgewertet werden.
(2) odown – Sentinels, die eine bestimmte Anzahl (konfigurierbar) überschreiten, berücksichtigen Sdown, und odown zielt nur auf den Master.
(3) Failover – die meisten Sentinels denken an Ausfall.
Redis-Cluster (Cluster-Modus)Der Redis-Cluster-Modus kann auch eine Hochverfügbarkeitsbereitstellung von Redis im Sentinel-Cluster-Modus mit dem Geschäftsvolumen erreichen Wenn die Leistung zunimmt, erreicht die Leistung den Engpass bei Redis. Die vertikale Erweiterung wird durch die Maschine begrenzt. Die horizontale Erweiterung birgt die Auswirkungen auf die Anwendung und das Risiko eines Datenverlusts während der Datenmigration. Als Reaktion auf diese Schwachstellen hat Redis3.0 die Cluster-Distributed-Cluster-Lösung eingeführt. Bei Problemen mit Einzelknotenspeicher, Parallelität und Verkehrsengpässen wird die Cluster-Lösung hauptsächlich zur Lösung verwendet Das Sharding-Problem besteht darin, die gesamten Daten gemäß den Regeln in mehrere Teilmengen aufzuteilen und an mehreren verschiedenen Stellen zu speichern. Jeder Knoten ist für seinen eigenen Teil der gesamten Daten verantwortlich.
Redis Cluster übernimmt die Partitionierung virtueller Slots in Hash-Partitionierungsregeln. Die virtuelle Slot-Partitionierung nutzt geschickt den Hash-Speicherplatz und verwendet eine Hash-Funktion mit guter Streuung, um alle Daten einem Satz von Ganzzahlen innerhalb eines festen Bereichs zuzuordnen. Die Ganzzahlen werden als Slots definiert. Der Bereich der Redis-Cluster-Slots liegt zwischen 0 und 16383. Slots sind die Grundeinheit der Datenverwaltung und -migration innerhalb eines Clusters.
Der Hauptzweck der Verwendung einer breiten Palette von Slots besteht darin, die Datenaufteilung und Clustererweiterung zu erleichtern. Jeder Knoten ist für eine bestimmte Anzahl von Slots verantwortlich. Redis Cluster verwendet die virtuelle Slot-Partitionierung und alle Schlüssel werden gemäß der Hash-Funktion auf 0 ~ 16383 abgebildet. Die Berechnungsformel lautet: Slot = CRC16(Schlüssel)&16383. Jeder reale Knoten ist für die Verwaltung eines Teils der Slots und der von den Slots abgebildeten Schlüsselwertdaten verantwortlich. Die folgende Abbildung zeigt einen Cluster, der aus fünf Knoten besteht. Jeder Knoten ist für durchschnittlich etwa 3276 Slots und den Prozess der Zuordnung zu den entsprechenden Slots der entsprechenden Knoten durch Berechnungsformeln verantwortlich.
Redis-Cluster-Architekturdiagramm Weitere Redis-Kenntnisse finden Sie in der SpalteRedis-Einführungs-Tutorial.
Das obige ist der detaillierte Inhalt vonDetaillierte grafische Erläuterung von drei Redis-Bereitstellungslösungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!