Keyslot klastra Redis

Keyslot klastra Redis

Wysoka dostępność Redis

Redis to w pamięci magazyn danych o niskim opóźnieniu, który zapewnia funkcje odchylania i replikacji po wyjęciu z pudełka. Zapewnia wysoką dostępność instancji Redis dla swoich interesariuszy. W sklepie danych Redis zastosowano dwa mechanizmy, aby zapewnić wysoką dostępność.

  • Poziome skalowanie z klastrowaniem
  • Redis Sentinel

Skalowanie poziome zawsze koncentruje się na zwiększeniu liczby wystąpień zamiast rosnącej mocy obliczeniowej na instancję. Klastrowanie Redis opiera się na skalowaniu poziomym, w którym zestaw węzłów zajmuje się ciągłym funkcjonowaniem instancji.

Klaster Redis

Klaster Redis składa się z wielu węzłów, w których każdy węzeł zawiera zakres szczelin skrótowych. Zwykle klaster ma 16384 gniazda skrótu. Każdy klawisz Redis jest powiązany z gniazdem skrótu i ​​aby obliczyć gniazdo skrótu na klucz, Redis używa CRC16 algorytmów Modulo Key Modulo 16384. Opiera się na technice master-replica, w której jeden węzeł główny nie powiedzie.

Załóżmy, że węzeł X kończy się niepowodzeniem z powodu awarii sieci. Następnie klaster Redis przypisuje obciążenie węzła X do węzła repliki x1, co zapewni płynne funkcjonowanie. Ponadto klastry Redis mogą automatycznie podzielić dane przychodzące na różne węzły.

Polecenia klastra Redis

Dostępnych jest kilka poleceń do użycia przeciwko klastrom Redis. Polecenie klastra jest poleceniem kontenera, które ma kilka podkomenda. Możesz użyć grupa pomoc Podkomenda, aby sprawdzić listę dostępnych podkomisji za pomocą ich użytkowania.

Pomoc klastra

Zgodnie z oczekiwaniami zwraca odpowiedź tablicy, jak pokazano następujące.

Wyjście:

W tym przewodniku skupimy się na Keyslot Podmiot, który jest powiązany z poleceniem kontenera GRUPA.

Polecenie Redis Keyslot

Keyslot Polecenie służy do sprawdzenia wartości gniazda skrótu dla danego klucza Redis, który zwraca wartość całkowitą. Ilekroć musisz wiedzieć o powiązanym węźle dla określonego klucza, to polecenie będzie przydatne. Innym przypadkiem użycia byłoby testowanie algorytmów mieszania poprzez porównanie ich z skrótami generowanymi przez to polecenie i sprawdzanie podobieństwa. Ponadto Keyslot Polecenie ma liniową złożoność czasu.

Składnia

Poniżej znajduje się składnia Redis Keyslot Podkomenda.

Klaster KeysLot redis_key

redis_key: Jest to unikalny identyfikator, którego używamy w magazynach danych Redis do identyfikacji dowolnej przechowywanej wartości.

To polecenie zwraca wartość gniazda skrótu określonego klucza Redis przechowywanego. Zwykle wartość ta jest liczbą całkowitą od 0 do 16383 dla danego klastra.

Przykład 01 - Sprawdź gniazdo skrótu i ​​węzeł klastra pod kątem danego klucza

Utwórzmy klaster Redis z sześcioma węzłami, w których trzy z nich to węzły główne, a reszta to repliki. Możemy użyć Szczeliny Podkomenda, aby sprawdzić, w jaki sposób węzły zostały przypisane do gniazda skrótu.

Gniazda klastra

Zgodnie z oczekiwaniami informacje o klastrze zostały wyświetlone jak następujące.

Dodajmy kilka kluczy do naszego klastra Redis, jak pokazano następujące.

Set Traveller: 1: Umieść Francję
Set Traveller: 2: Umieść Indie

Teraz możemy użyć Keyslot Podkomenda, aby sprawdzić, jakie są gniazda skrótu, które przypisano każdy klucz.

Keyslot Keyslot Traveler: 1: Miejsce

Wyjście wygląda jak następujące.

Zwrócił liczbę całkowitą 8963, co oznacza, że ​​gniazdo skrótu wynosi 8963. Powinien leżeć w zakresie 5461 - 10922, pokazane na następujących wyjściach.

Węzeł główny to 6001, a ten klucz powinien być tam przechowywany. Można zastosować tę samą procedurę w celu zidentyfikowania węzła dla Podróżnik: 2: miejsce klucz.

Przykład 02 - Obsługa wielu klawiszy przez ten sam węzeł Redis

Keyslot Polecenie obsługuje hashtagi, w których algorytm Hashing klaster Redis Hashing I . Ilekroć klawisz Redis podąża za wymienionym wzorem, wygeneruje gniazdo hash na podstawie znaków wewnątrz kręconych aparatów ortodontycznych, a pozostałe znaki nie są uważane za. Z hashtagami możemy zmusić do przechowywania wielu kluczy w tym samym węźle, jak pokazano następujące.

Utwórzmy kilka par kluczowych, jak pokazano następujące.

Ustaw użytkownik: 1: carcolor common_hash czerwony
Ustaw użytkownik: 2: carcolor common_hash niebieski

Jak pokazano w przykładzie, klucze zawierają wspólny hashtag common_hash. Stąd zarówno wartości gniazda skrótu, które są generowane przez algorytm mieszania klastra Redis, będą takie same dla obu klawiszy. Sprawdźmy gniazda skrótu dla obu klawiszy za pomocą Keyslot podkomenda, jak pokazano następujące.

Użytkownik klastra KeysLot: 2: carcolor common_hash
Użytkownik klastra KeysLot: 1: carcolor common_hash

Zgodnie z oczekiwaniami, oba polecenia zwracają tę samą wartość gniazda skrótu, 8276, co oznacza, że ​​klucze są przechowywane w tym samym węźle. Zgodnie z powyższymi przykładami, możesz zobaczyć, jak przydatne Keyslot polecenie dotyczy kontaktów z klastrami Redis.

Wniosek

Podsumowując, Redis obsługuje odchylenie, replikację i wysoką dostępność przez skalowanie poziome. Skalowanie poziome zostało osiągnięte za pomocą klastrów Redis. Jak omówiono, każda klaster jest zbiorem węzłów, w których węzeł może pomieścić kilka gniazd skrótu. Klaster może pomieścić 16384 maksymalne szczeliny skrótów i około 1000 węzłów. Jak zacytowano, klastry Redis są zgodne z techniką repliki głównej, w której węzeł główny się nie powiedzie, a replika zacznie funkcjonować w imieniu nieudanego węzła. Redis ma listę poleceń do działania na klastrach. Keyslot Polecenie jest jednym z tych, które służy do uzyskania wartości gniazda skrótu dla określonego klucza Redis. To polecenie obsługuje również hashtagi.