Heim  >  Artikel  >  Datenbank  >  Redis-Master-Slave-Instanzen online schalten

Redis-Master-Slave-Instanzen online schalten

尚
nach vorne
2020-03-27 09:25:212146Durchsuche

Redis-Master-Slave-Instanzen online schalten

Aus bestimmten Gründen müssen wir möglicherweise den Redis-Master auf eine andere Maschine umstellen. Wir können die Maschine zum Austausch anhalten, aber das kann sich auf die Benutzererfahrung auswirken. In diesem Artikel wird kurz beschrieben, wie Sie ohne Ausfallzeiten migrieren können.

(Empfohlen: Redis-Video-Tutorial)

Systemumgebung

CentOS 6.3 x64

redis- Server 2.6.16

Maschine zwei s1s2

Bedienungsschritte

1. Wir starten eine Redis-Instanz auf dem neuen Redis-Server, konfigurieren und Der Master Die Konfiguration ist die gleiche, der Unterschied besteht darin, dass die Konfigurationsdatei geändert und schreibgeschützt aktiviert wird.

Ermöglicht dem Slave das Schreiben, da „Seit Redis 2.6 standardmäßig Slaves schreibgeschützt sind“. 🎜>

2. Machen Sie das neue Redis zu einem Slave: redis 127.0.0.1:6379>SLAVEOF s1 6379

Dann können Sie das Protokoll auf s2 überprüfen Verwenden Sie auch den Befehl info, um den Status zu überprüfen.

3. Nachdem s2 die Daten von s1 vollständig synchronisiert hat, ändern wir die Redis-IP der Spiel-App auf die IP von s2.

4. Überprüfen Sie, ob das Spiel normal ist.

Nachdem das oben Gesagte kein Problem darstellt, führen Sie redis 127.0.0.1:6379> SLAVEOF NO ONE auf s2 aus

PS:

SLAVEOF-Host-Port

Der Befehl SLAVEOF wird verwendet, um das Verhalten der Replikationsfunktion dynamisch zu ändern, wenn Redis ausgeführt wird.

Durch Ausführen des Host-Port-Befehls SLAVEOF können Sie den aktuellen Server in einen Slave-Server des angegebenen Servers umwandeln.

Wenn der aktuelle Server bereits ein Slave-Server eines Master-Servers ist, führt die Ausführung des SLAVEOF-Host-Ports dazu, dass der aktuelle Server die Synchronisierung des alten Master-Servers beendet, den alten Datensatz verwirft und mit der Synchronisierung des neuen beginnt . Der Hauptserver führt die Synchronisierung durch.

Darüber hinaus führt die Ausführung des Befehls SLAVEOF NO ONE auf einem Slave-Server dazu, dass der Slave-Server die Replikationsfunktion deaktiviert und vom Slave-Server zurück zum Master-Server wechselt. Der ursprüngliche synchronisierte Datensatz wird nicht ausgeführt verworfen.

Mit der Funktion „SLAVEOF NO ONE wird den synchronisierten Datensatz nicht verwerfen“ kann bei einem Ausfall des Master-Servers der Slave-Server als neuer Master-Server verwendet werden, wodurch ein unterbrechungsfreier Betrieb gewährleistet wird.

Verfügbare Versionen:

>= 1.0.0

Zeitliche Komplexität:

SLAVEOF Host-Port, O(N), N soll synchronisiert werden Datenmenge.

Sklave von niemandem, O(1).

Rückgabewert:

gibt immer OK zurück.

Weitere Redis-Kenntnisse finden Sie in der Spalte

Redis-Einführungs-Tutorial

.

Das obige ist der detaillierte Inhalt vonRedis-Master-Slave-Instanzen online schalten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:ttlsa.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen