2016-10-24 16 views
5

Konfiguruję prosty 1 klaster Master-N Slaves Redis (low write round, high read count). Sposób konfiguracji jest dobrze udokumentowany na stronie Redis, jednak nie ma informacji (lub ja tęsknię za nią) o tym, jak klienci (serwery Node.js w moim przypadku) obsługują klaster. Czy moje serwery muszą mieć otwarte dwa połączenia Redis: jeden dla Master (zapis) i jeden dla load-Balancer dla odczytów? Czy sterownik Redis obsługuje to automatycznie i wysyła komunikaty do niewolników i zapisuje je do urządzenia Master?Podłączanie do urządzenia nadrzędnego i podrzędnego w zreplikowanym klastrze Redis

+1

To zależy od użytego sterownika. Redis nie ma specyfikacji, w jaki sposób klient powinien uzyskiwać dostęp do systemu Master i Slave. Sugeruję sprawdzenie dokumentacji tego sterownika. Dodaj też nowy tag do tego postu, np. 'node-redis' (jeśli jest to używany sterownik) –

+0

@for_stack Dzięki, myślę, że jest to poprawna odpowiedź sama w sobie. – Nepoxx

Odpowiedz

0

Nie trzeba specjalnie łączyć się z konkretną instancją, każda instancja w klastrze redis ma informacje o klastrze. Więc nawet jeśli połączysz się z jednym wzorcem, twój klient będzie połączony z dowolną instancją w klastrze. Jeśli więc spróbujesz zaktualizować klucz obecny w innym systemie nadrzędnym (innym niż ten, z którym się łączyłeś), klient redis zajmie się nim, korzystając z przekierowania udostępnionego przez serwer.

Aby odpowiedzieć na drugie pytanie, można włączyć czyta z niewolnika przez READONLY polecenia

Powiązane problemy