Die folgende Kolumne „Redis-Tutorial“ stellt Ihnen die drei Cluster-Modi von Redis vor – den Cluster-Cluster-Modus. Ich hoffe, dass er Freunden in Not hilfreich sein wird! Drei Redis-Cluster-Modi - Cluster-Cluster-Modus Um die höchste Leistung zu erzielen, führen wir den Redis-Cluster-Modus ein. 1. Redis-Cluster: Es gibt keinen zentralen Knoten, um 16348 Hash-Slots auf allen Knoten abzudecken CRC16 (KEY) & 16348 = Slot, um den entsprechenden Hash-Slot abzurufen,
und beim Zugriff auf den Schlüssel herauszufinden, auf welchem Knoten sich sein Hash-Slot befindet, und dann wird dem aktuellen Zugriffsknoten tatsächlich dieser Hash-Slot zugewiesen, um Daten abzurufen Knoten nutzen eine leichtgewichtige Protokollkommunikation, um die Bandbreitennutzung zu reduzieren und eine hohe Leistung zu erzielen.
Implementieren Sie automatisch Lastausgleich und Hochverfügbarkeit, implementieren Sie automatisch Failover und unterstützen Sie dynamische Erweiterungen.C. Laut offiziellen Empfehlungen sind für die Clusterbereitstellung mindestens 3 Masterknoten erforderlich. Dann starten Sie die Bereitstellung
2. In jedem Pfad fügen wir die Konfigurationsdatei
hinzu: redis.conf 2. Clusterkonfigurationcd /usr/software/redis/redis -
cluster
/
1. Verzeichnis/usr/software/redis/redis-cluster/1001
/usr/software/redis/redis-cluster/1002/usr/software/redis/redis-cluster/1003#Ändern Sie die folgenden Schlüssel-Wert-Paare
################################## NETWORK ##################################### #bind 127.0.0.1protected-mode no port 1001################################# GENERAL ##################################### daemonize yes pidfile "/var/run/redis_1001.pid"logfile "/usr/software/redis/redis-cluster/1001/log/redis.log"################################ SNAPSHOTTING ################################dir "/usr/software/redis/redis-cluster/1001/data"################################ REDIS CLUSTER ############################### cluster-enabled yes cluster-config-file nodes-1001.conf cluster-node-timeout 15000################################## SECURITY ################################### requirepass "ww"
Ändern Sie die folgenden Konfigurationen in den Konfigurationsdateien mehrerer anderer Instanzen Das ist it (Sie müssen die Protokoll- und Datenverzeichnisse selbst erstellen):
port 100x"/var/run/redis_100x.pid" logfile "/usr/software/redis/redis-cluster/100x/log/redis.log""/usr/software/redis/redis-cluster/100x/data"-config-file nodes-100x.conf
Hinweis: Um einen Cluster nach redis5.0 zu erstellen, wird redis-cli verwendet. Die vorherige Version verwendet redis-trib.rb. Es muss jedoch Ruby-Software installiert werden. Sie ist relativ komplex und erfordert im Vergleich zur Vorgängerversion 5.0 keine Installation zusätzlicher Software. Weitere Informationen finden Sie auf der offiziellen Redis-Website
https://redis.io/topics/cluster-tutorialErstellen Sie einen Cluster-Befehl: wobei Cluster-Replicas 1 mehrere Slaves nach einem Master und 1 einen Slave-Knoten darstellt
redis-cli --cluster create 127.0.0.1:1001 127.0.0.1:1002 127.0.0.1:1003 127.0.0.1:1004 127.0.0.1:1005 127.0.0.1:1006 --cluster-replicas 1 -a ww
Das erste Mal, dass die Clustererstellung fehlgeschlagen ist, weil kein ww-Passwort festgelegt wurde.
Der folgende Inhalt wird während des Vorgangs abgefragt. Geben Sie „Ja“ ein, um fortzufahren. Ja‘ zum Akzeptieren: Ja
Die Ergebnisse der automatischen Clusterzuordnung lauten wie folgt:
3. Überprüfen Sie, ob der Cluster erfolgreich erstellt wurde
Überprüfen Sie zunächst die Master-Slave-Kopplungssituation
Ausführen: redis-cli -c -p 1001 -a ww
Die Daten werden automatisch dem 1002-Knoten zugewiesen und die Verbindung wird auch auf den 1002-Knoten übertragen
4. Failover überprüfen
Die Schlussfolgerung ist, dass nach dem Ausfall des Master-Knotens der untergeordnete Slave-Knoten zum Master-Knoten hochgestuft wird und den Steckplatz des Master-Knotens übernimmt. Nachdem der alte Master-Knoten online geschaltet wurde, kann er nur noch als Slave-Knoten fungieren.
Töten Sie 1001 und stellen Sie fest, dass er vom Knoten 1004 zum Master-Knoten konvertiert wurdeStarten Sie 1001 neu und er wird zum Slave-Knoten
Das obige ist der detaillierte Inhalt vonEinführung in die drei Cluster-Modi von Redis (Cluster-Cluster-Modus). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!