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.
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 wurde
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!