2016-10-24 4 views
5

Ich richte einen einfachen 1 Master - N Slaves Redis-Cluster (niedrige Schreib-Runde, hohe Lese-Anzahl). Wie dies eingerichtet wird, ist auf der Redis-Website gut dokumentiert, jedoch gibt es keine Informationen (oder ich habe sie verpasst) darüber, wie die Clients (Node.js-Server in meinem Fall) den Cluster handhaben. Müssen auf meinen Servern zwei Redis-Verbindungen geöffnet sein: eine für den Master (schreibt) und eine für einen Slave-Load-Balancer für Lesevorgänge? Behandelt der Redis-Treiber dies automatisch und sendet Lesevorgänge an Slaves und schreibt sie an den Master?Verbinden mit Master und Slave in einem replizierten Redis-Cluster

+1

Es ist auf den Fahrer ab, die Sie verwendet. Redis hat keine Spezifikation, wie Client auf Master und Slaves zugreifen soll. Ich empfehle Ihnen, die Dokumentation dieses Treibers zu überprüfen. Fügen Sie auch einen neuen Tag für diesen Beitrag hinzu, z. 'node-redis '(wenn das der Treiber ist, den du benutzt hast) –

+0

@for_stack Danke, ich denke, das ist eine gültige Antwort an und für sich. – Nepoxx

Antwort

0

Sie müssen keine spezifische Verbindung zu einer bestimmten Instanz herstellen, jede Instanz im Redis-Cluster enthält Informationen zum Cluster. Selbst wenn Sie eine Verbindung zu einem Master herstellen, wird Ihr Client mit jeder Instanz im Cluster verbunden. Wenn Sie also versuchen, einen Schlüssel in einem anderen Master (außer dem, den Sie verbunden haben) zu aktualisieren, kümmert sich redis client darum, indem er die vom Server bereitgestellte Umleitung verwendet.

Ihre zweite Frage zu beantworten, können Sie aktivieren vom Slave liest von READONLY Befehl

Verwandte Themen