Redis
 sql >> Datenbank >  >> NoSQL >> Redis

Wie verwendet StackExchange.Redis mehrere Endpunkte und Verbindungen?

Was sollte Es kann vorkommen, dass es eine Reihe von Dingen (insbesondere die definierte Replikationskonfiguration) verwendet, um zu bestimmen, welcher der Master ist, und den Datenverkehr an den entsprechenden Server zu leiten (unter Berücksichtigung des "server"-Parameters, der standardmäßig "prefer master" ist, aber welcher sendet Schreiboperationen immer an einen Master).

Wenn ein Fehler "Kann nicht auf einen schreibgeschützten Slave schreiben" (ich kann mich nicht an den genauen Text erinnern) empfangen wird, wird versucht, die Konfiguration wiederherzustellen, und sollte automatisch umschalten, um dies zu respektieren. Leider sendet redis keine Konfigurationsänderungen, sodass die Bibliothek dies nicht im Voraus erkennen kann.

Beachten Sie, dass, wenn Sie die Bibliotheksmethoden verwenden, um den Master zu ändern, dies kann Pub/Sub ausnutzen, um diese Änderung sofort und automatisch zu erkennen.

Bezüglich der zweiten Verbindung:Das wäre für pub/sub; es dreht dies vorzeitig hoch, da es standardmäßig versucht, auf die bibliotheksspezifischen Konfigurationsübertragungen zu lauschen.