2016-04-29 18 views
4

Welche Vorteile bietet die Verwendung von Redis Cluster gegenüber der normalen Verwendung von Redis und dem Erstellen von Shards?Sharing Regular Redis vs Redis Cluster

Es scheint mir, als ob Redis Cluster mehr über Datensicherheit (mit der Master-Slave-Architektur Konto für Fehler) ist.

Antwort

1

Ich denke, der Unterschied tritt auf, wenn Sie Cluster neu einreihen müssen, ohne Daten zu verlieren.

Im Allgemeinen wird eine Hash-Strategie verwendet, um die Daten gleichmäßig auf mehrere Redis-Server zu verteilen, wie dies Redis 3.0-Cluster und twemproxy tun. Wenn ein neuer Redis in den Cluster hinzugefügt wird und einige Daten von ihm übernommen werden sollen, wie können Sie dann wissen, ob Daten, die er liefern soll, noch nicht migriert wurden? Vielleicht wird ein Brute-Force-Scan des gesamten Schlüsselraums benötigt, oder etwas, das schlau ist wie konsistentes Hashing, aber das ist irgendwie kompliziert.

Der 3.0-Cluster stellt die Datenmigration durch Einführung der Hash-Slots sicher, und wenn Sie einen ganzen Slot migrieren, stellt der Redis-Cluster sicher, dass keine Schlüssel mehr übrig sind. Aber ich fürchte, es ist kein Vorteil, weil es auch einen Nachteil hat: Wenn ein Steckplatz in einem Migrationsstatus ist, ist es wahrscheinlich nicht möglich, Abfragen zu bedienen.

Wie auch immer, diese Strategie wird von vielen Bibliotheken und Tools übernommen und unterstützt, was ich für einen Vorteil halte.

1

Einer der größten Vorteile der Verwendung von 3.0-Cluster gegenüber regulären Redis und dem Erstellen von Shards ist die Leistung. Redis 3.0-Cluster bietet eine viel höhere Leistung im Vergleich zu Twemproxy oder Codes Proxy usw.