Technologieaustausch

6. Aufbau eines Redis-Master-Slave-Clusters

2024-07-11

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Aufbau eines Redis-Master-Slave-Clusters

1. Was ist ein Redis-Master-Slave-Cluster?

Der Master-Slave-Cluster von Redis ist ein Lese-/Schreib-Trenncluster mit „einem Master und mehreren Slaves“. Der Master-Knoten im Cluster ist für die Lese- und Schreibanforderungen des Clients verantwortlich, während der Slave-Knoten für die Leseanforderungen des Clients verantwortlich ist. Der Grund, warum der Cluster im Lese-/Schreib-Trennmodus eingerichtet werden sollte, liegt hauptsächlich darin, dass bei Datenbankclustern der Schreibdruck im Allgemeinen geringer und der Lesedruck größer ist. Daher ist nur ein Knoten für die Verarbeitung von Schreibanforderungsvorgängen verantwortlich.

2. Aufbau und Konfiguration von Pseudoclustern

Bei Verwendung des Single-Threaded-IO-Modells werden zur Verbesserung der Prozessorauslastung normalerweise mehrere Redis auf einem Host installiert, um einen Redis-Master-Slave-Pseudocluster aufzubauen. Natürlich geht es im Pseudo-Cluster-Szenario hauptsächlich um das Erlernen von Redis.

Der unten zu erstellende Pseudocluster mit Lese-/Schreibtrennung enthält einen Master und zwei Slaves. Ihre Portnummern entsprechen: 6380, 6381, 6382.

2.1. Kopieren Sie die Datei redis.conf

​ Im Redis-Installationsverzeichnis mkdir ein Verzeichnis mit dem Namen „cluster“ erstellen. Kopieren Sie dann die Datei redis.conf in dieses Verzeichnis. Die geänderte Datei wird später in andere Konfigurationsdateien aufgenommen, daher müssen in dieser Datei dieselben öffentlichen Attribute jedes Reids-Knotens festgelegt werden.

2.2. Ändern Sie die Datei redis.conf

2.2.1, Masterauth

Da wir einen Master-Slave-Cluster aufbauen möchten und jeder Host vom Master lesen kann, ist es am besten, das Kennwortüberprüfungsattribut „requirepass“ festzulegen. Wenn Sie es wirklich einrichten müssen, stellen Sie sicher, dass das Passwort für jeden Host auf den gleichen Wert eingestellt ist. Zu diesem Zeitpunkt müssen in jeder Konfigurationsdatei zwei identische Attribute festgelegt werden: requirepass und msterauth. Unter anderem wird requirepass verwendet, um das aktuelle Host-Zugriffskennwort anzugeben, und masterauth wird verwendet, um das Zugriffskennwort anzugeben, das übermittelt wird, wenn sich der aktuelle Slave auf dem Master befindet. Damit kann der Master überprüfen, ob seine Identität legal ist.

2.2.2, repl-deaktivieren-tcp-nodelay
  1. Was ist TCP-Nodelay:

    Wir sollten wissen, dass TCP bei der Datenübertragung immer einen möglichst großen Datenblock senden möchte, um die Netzwerkbandbreite zu reduzieren. Daher wird in TCP der Nagle-Algorithmus verwendet. Dieser Algorithmus speichert die Daten bis zu einer bestimmten Größe zwischen, bevor er sie verpackt und sendet.

  2. Konfiguration der repl-disable-tcp-nodelay-Parameter:

    Dieses Attribut wird verwendet, um den Algorithmus festzulegen, um die TCP-Funktion TCP-Nodelay zu deaktivieren. Wenn es auf „Ja“ gesetzt ist, ist es deaktiviert (d. h. die Daten werden vor dem Senden auf eine bestimmte Größe zwischengespeichert). Zu diesem Zeitpunkt wird die Kommunikation zwischen dem Master und dem Slave verzögert, aber die Anzahl der verwendeten TCP-Pakete wird reduziert und die Netzwerkbandbreite wird geringer sein. Nein ist das Gegenteil. Hinweis: Wenn es viele Master-Slave-Ebenen gibt, wird empfohlen, diese auf „Nein“ zu setzen, um Datenverzögerungen zu vermeiden.

2.3. Spezifische Konstruktion

Referenzartikel:

http://t.csdnimg.cn/Fjyhw