Heim Datenbank Redis Redis-Cluster-Prinzip

Redis-Cluster-Prinzip

Jun 03, 2019 pm 04:52 PM
redis

Redis ist eine typische No-SQL-Datenbank, also eine nicht relationale Datenbank, die Schlüssel-Wert-Paare wie ein Python-Wörterbuch speichert. Sie funktioniert im Speicher

und ist daher sehr gut geeignet Insbesondere dient die gesamte Internetarchitektur als Cache zwischen den verschiedenen Ebenen, z. B. der 4-Schicht-Weiterleitungsschicht von LVS und der 7-Schicht-Proxy-Schicht von Nginx Die Anwendungsschicht der LNMP-Architektur wie PHP-FPM oder Tomcat zu MySQL. Erstellen Sie einen Cache zwischen ihnen, um den Druck auf die Datenbank zu verringern.

Da ein beträchtlicher Teil der Daten nur eine einfache Schlüssel-Wert-Korrespondenz ist, und in Im tatsächlichen Geschäft ändert es sich oft schnell in kurzer Zeit. Redis-Cluster-Prinzip

Wenn Sie eine relationale Datenbank wie MySQL als Speicher verwenden, wird der Zugriff auf die Datenbank erheblich erhöht, was zu einer starken Belastung der Datenbank führt. Denn vor allem die Anforderungen werden irgendwann zur Datenbank konvergieren

. Wenn Sie also Geschäftsstabilität wünschen, dann lösen Sie die Datenbank. Der Druck ist der Schlüssel, daher bestehen die meisten Lösungen jetzt darin, mehrstufige No- zu verwenden. SQL auf allen Ebenen oberhalb der Datenbankebene

wie Memcache Redis usw., um Pufferung für die Datenbank bereitzustellen

Redis-Cluster

Redis-Cluster ist ein Anlageninstallation, die Daten zwischen mehreren Redis-Knoten teilen kann.

Redis-Cluster unterstützt keine Redis-Befehle, die mehrere Schlüssel gleichzeitig verarbeiten müssen, da die Ausführung dieser Befehle das Verschieben von Daten zwischen mehreren Redis-Knoten erfordert und unter hohen Lastbedingungen diese Befehle den Redis-Cluster verlangsamen die Leistung beeinträchtigen und zu unvorhersehbarem Verhalten führen.

Der Redis-Cluster bietet durch Partitionierung ein gewisses Maß an Verfügbarkeit: Auch wenn einige Knoten im Cluster ausfallen oder nicht kommunizieren können, kann der Cluster weiterhin Befehlsanfragen verarbeiten.

Redis-Cluster bietet die folgenden zwei Vorteile:

Die Möglichkeit, Daten automatisch in mehrere Knoten aufzuteilen.

Wenn einige Knoten im Cluster ausfallen oder nicht kommunizieren können, können sie weiterhin Befehlsanfragen verarbeiten.

Cluster-Prinzip

Alle Redis-Knoten sind miteinander verbunden (PING-PONG-Mechanismus) und intern wird ein Binärprotokoll verwendet, um Übertragungsgeschwindigkeit und Bandbreite zu optimieren.

Der Ausfall eines Knotens wird erst dann wirksam, wenn mehr als die Hälfte der Knoten im Cluster einen Ausfall erkennen.

Der Client ist direkt mit dem Redis-Knoten verbunden, ohne dass eine Zwischen-Proxy-Schicht erforderlich ist. Der Client muss sich nicht mit allen Knoten im Cluster verbinden, sondern nur mit jedem verfügbaren Knoten im Cluster.

redis-cluster ordnet alle physischen Knoten dem [0-16383]-Slot zu. Cluster ist für die Aufrechterhaltung des Node<->slot<->-Werts verantwortlich.

16384 ist in den Redis-Cluster integriert Ein Hash-Slot: Wenn ein Schlüsselwert im Redis-Cluster platziert werden muss, verwendet Redis zunächst den crc16-Algorithmus, um ein Ergebnis für den Schlüssel zu berechnen, und berechnet dann den Rest des Ergebnisses auf 16384, sodass jeder Schlüssel entspricht eine Zahl zwischen 0 und 16383 Hash-Slots dazwischen, ordnet Redis die Hash-Slots entsprechend der Anzahl der Knoten ungefähr gleichmäßig verschiedenen Knoten zu

Das obige ist der detaillierte Inhalt vonRedis-Cluster-Prinzip. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Warum tritt bei der Installation einer Erweiterung mit PECL in einer Docker -Umgebung ein Fehler auf? Wie löst ich es? Warum tritt bei der Installation einer Erweiterung mit PECL in einer Docker -Umgebung ein Fehler auf? Wie löst ich es? Apr 01, 2025 pm 03:06 PM

Ursachen und Lösungen für Fehler Bei der Verwendung von PECL zur Installation von Erweiterungen in der Docker -Umgebung, wenn die Docker -Umgebung verwendet wird, begegnen wir häufig auf einige Kopfschmerzen ...

Wie kann ich mehrere Dienste in DockerFile effizient starten? Wie kann ich mehrere Dienste in DockerFile effizient starten? Apr 01, 2025 pm 02:15 PM

Über die effiziente Verwendung von CMD -Befehlen in Dockerfile viele neue Docker -Benutzer verwenden CMD ...

Wie löste ich das Problem des Typs des user_id -Typs bei der Verwendung von Redis -Stream, um Nachrichtenwarteschlangen in GO -Sprache zu implementieren? Wie löste ich das Problem des Typs des user_id -Typs bei der Verwendung von Redis -Stream, um Nachrichtenwarteschlangen in GO -Sprache zu implementieren? Apr 02, 2025 pm 04:54 PM

Das Problem der Verwendung von RETISTREAM zur Implementierung von Nachrichtenwarteschlangen in der GO -Sprache besteht darin, die Go -Sprache und Redis zu verwenden ...

Vergleich von Redis -Warteschlangen und MySQL -Stabilität: Warum ist Redis für den Datenverlust anfällig? Vergleich von Redis -Warteschlangen und MySQL -Stabilität: Warum ist Redis für den Datenverlust anfällig? Apr 01, 2025 pm 02:24 PM

Vergleich von Redis -Warteschlangen und MySQL -Stabilität: Warum ist Redis für den Datenverlust anfällig? In der Entwicklungsumgebung, die mit PHP7.2- und ThinkPhp -Frameworks verwendet wird, stehen wir häufig vor der Wahl der Zusammenarbeit ...

Wie kann man die Gültigkeit von Redis -Verbindungen im Laravel6 -Projekt effektiv überprüfen? Wie kann man die Gültigkeit von Redis -Verbindungen im Laravel6 -Projekt effektiv überprüfen? Apr 01, 2025 pm 02:00 PM

Wie man die Gültigkeit von Redis -Verbindungen in Laravel6 -Projekten überprüft, ist ein häufiges Problem, insbesondere wenn Projekte auf Redis für die Geschäftsverarbeitung angewiesen sind. Das Folgende ist ...

So wenden Sie Debian Strings auf einer Website an So wenden Sie Debian Strings auf einer Website an Apr 02, 2025 am 08:21 AM

In diesem Artikel wird erläutert, wie die Website der Website auf Debian -Systemen optimiert wird. "DebianStrings" ist kein Standardbegriff und kann sich auf Tools oder Technologien beziehen, die in Debian -Systemen verwendet werden, um die Website der Website zu verbessern. Im Folgenden finden Sie einige praktische Tipps: 1. Es wird empfohlen, das Pagode -Panel zu verwenden, um den Installations- und Konfigurationsprozess für die Konfiguration von Webserver und PHP -Umgebung zu vereinfachen. Es wird empfohlen, Nginx1.22.1 als Webserver, Php8.2 als Skript-Interpreter und MySQL10.7.3-MariADB als Datenbanksystem zu installieren. Stellen Sie sicher, dass Sie die erforderlichen PHP

See all articles