Klaster Redis vs. Sentinel 12 maja 2014 r

Poniższa lista zawiera odpowiedzi na powszechnie zadawane pytania dotyczące pamięci podręcznej Azure w celu klastrowania Redis.

Skonfiguruj klaster Redis dla pamięci podręcznej Azure Premium dla instancji Redis

Azure Cache dla Redis oferuje klaster Redis zaimplementowany w Redis. Dzięki klastrze Redis otrzymujesz następujące korzyści:

  • Możliwość automatycznego podziału zestawu danych na wiele węzłów.
  • Możliwość kontynuowania operacji, gdy podzbiór węzłów doświadcza awarii lub nie jest w stanie komunikować się z resztą klastra.
  • Większa przepustowość: przepustowość wzrasta liniowo, gdy zwiększasz liczbę odłamków.
  • Więcej wielkości pamięci: wzrasta liniowo, gdy zwiększasz liczbę odłamków.

Klastrowanie nie zwiększa liczby połączeń dostępnych dla skupionej pamięci podręcznej. Aby uzyskać więcej informacji na temat rozmiaru, przepustowości i przepustowości z pamięci podręcznej, zobacz Wybór odpowiedniego poziomu.

W Azure klaster Redis jest oferowany jako model podstawowy/repliki, w którym każde odłamki ma parę pierwotną/repliką z replikacją, w której replikacja jest zarządzana przez Azure Cache dla Service Redis Service.

Azure Cache for Redis obsługuje teraz do 30 odłamków (podgląd)

Azure Cache for Redis obsługuje teraz do 30 odłamków dla klastrowych pamięci podręcznej. Klastowane buformy skonfigurowane z dwoma replikami mogą obsługiwać do 20 odłamków, a koncentrowane buformy skonfigurowane z trzema replikami mogą obsługiwać do 15 odłamków.

Ograniczenia

  • Limit odłamków dla pamięci podręcznej z Redis wersja 4 to 10.
  • Limit odłamków dla pamięci podręcznej dotkniętych emeryturą usług w chmurze wynosi 10.
  • Konserwacja potrwa dłużej, ponieważ każdy węzeł zajmie około 20 minut na aktualizację. Inne operacje konserwacyjne zostaną zablokowane, gdy pamięć podręczna jest w utrzymaniu.

Skonfiguruj klasterowanie

Klastrowanie jest włączone Nowa pamięć podręczna Azure dla Redis po lewej podczas tworzenia pamięci podręcznej.

  1. Aby utworzyć pamięć podręczną premium, zaloguj się do portalu Azure i wybierz Utwórz zasób. Oprócz tworzenia pamięci podręcznej w portalu Azure, możesz je również utworzyć za pomocą szablonów Menedżera zasobów, PowerShell lub Azure CLI. Aby uzyskać więcej informacji na temat tworzenia pamięci podręcznej Azure dla Redis, zobacz Utwórz pamięć podręczną. Utwórz zasób
  2. Na Nowy strona, wybierz Bazy danych a następnie wybierz Pamięć podręczna Azure dla Redis. Wybierz pamięć podręczną Azure dla Redis
  3. Na Nowa pamięć podręczna Redis Strona, skonfiguruj ustawienia nowej pamięci podręcznej premium.
    Ustawienie Sugerowana wartość Opis
    Nazwa DNS Wprowadź globalnie unikalną nazwę. Nazwa pamięci podręcznej musi być ciągiem od 1 do 63 znaków. Ciąg może zawierać tylko liczby, litery lub łączniki. Nazwa musi rozpocząć się i zakończyć z liczbą lub literą i nie może zawierać kolejnych łączników. Twoja instancja pamięci podręcznej Nazwa hosta będzie .Redis.Pamięć podręczna.okna.internet.
    Subskrypcja Rozwijaj i wybierz subskrypcję. Subskrypcja, w ramach której można stworzyć nową pamięć podręczną Azure dla Instancji Redis.
    Grupa zasobów Rozwijana i wybierz grupę zasobów lub wybierz Tworzyć nowe i wprowadź nową nazwę grupy zasobów. Nazwa grupy zasobów, w której można tworzyć pamięć podręczną i inne zasoby. Układając wszystkie zasoby aplikacji w jednej grupie zasobów, możesz łatwo je zarządzać lub usunąć.
    Lokalizacja Rozwijanie i wybierz lokalizację. Wybierz region w pobliżu innych usług, które będą korzystać z pamięci podręcznej.
    Typ pamięci podręcznej Rozwijana i wybierz pamięć podręczną premium, aby skonfigurować funkcje premium. Aby uzyskać szczegółowe informacje, zobacz Azure Cache, aby wycenić ceny redis. Wiersz wyceny określa rozmiar, wydajność i funkcje, które są dostępne dla pamięci podręcznej. Aby uzyskać więcej informacji, zobacz Azure Cache dla przeglądu Redis.
  4. Wybierz Networking karta lub wybierz Networking przycisk u dołu strony.
  5. w Networking Tab, wybierz metodę łączności. W przypadku instancji pamięci podręcznej premium możesz połączyć się publicznie, za pośrednictwem publicznych adresów IP lub punktów końcowych usługi lub prywatnie, korzystając z prywatnego punktu końcowego.
  6. Wybierz Dalej: Advanced karta lub wybierz Dalej: Advanced przycisk na dole strony.
  7. w Zaawansowany Zakładka dla instancji pamięci podręcznej premium, skonfiguruj ustawienia portu inne niż TLS, klastrowanie i trwałość danych. Aby włączyć klaster, wybierz Włączać. Przełączanie klastrowaniaMożesz mieć do 10 odłamków w klastrze. Po wybraniu Włączać, przesuń suwak lub wpisz liczbę między 1 a 10 dla Liczba odłamków i wybierz OK. Każde odłamki jest parą pamięci podręcznej pierwotnej/repliki zarządzanej przez Azure, a całkowity rozmiar pamięci podręcznej oblicza się przez pomnożenie liczby odłamków przez rozmiar pamięci podręcznej wybrany na poziomie cenowym. Wybrany przełącznik grupowaniaKiedyś

    Unikalne pytania:

    1. Jakie są korzyści z korzystania z klastra Redis?
    2. Odpowiedź: Korzystanie z klastra Redis oferuje możliwość automatycznego podziału zestawu danych na wiele węzłów, kontynuuj operacje, gdy podzbiór węzłów doświadcza awarii lub nie jest w stanie komunikować się z resztą klastra oraz osiągnąć większą przepustowość i wielkość pamięci, gdy zwiększasz liczbę odłamków.

    3. Może klastrować zwiększyć liczbę połączeń dostępnych dla skupionej pamięci podręcznej?
    4. Odpowiedź: Nie, klastrowanie nie zwiększa liczby połączeń dostępnych dla skupionej pamięci podręcznej.

    5. Ile odłamków ma teraz obsługę Azure Cache dla Redis?
    6. Odpowiedź: Azure Cache for Redis obsługuje teraz do 30 odłamków dla klastrowych pamięci podręcznej.

    7. Jaki jest limit odłamków dla pamięci podręcznej z Redis w wersji 4?
    8. Odpowiedź: Limit odłamków dla pamięci podręcznej z Redis wersją 4 to 10.

    9. Jaki jest limit odłamków dla pamięci podręcznej dotkniętych emeryturą usług w chmurze?
    10. Odpowiedź: Limit odłamków dla pamięci podręcznej dotkniętych emeryturą w chmurze wynosi 10.

    11. Jak długo trwa konserwacja węzła w pamięci podręcznej klastrowej?
    12. Odpowiedź: Konserwacja węzła w pamięci podręcznej klastrowej zajmuje około 20 minut na aktualizację. Inne operacje konserwacyjne zostaną zablokowane, gdy pamięć podręczna jest w utrzymaniu.

    13. Jak mogę skonfigurować klastrowanie na pamięć podręczną Azure Premium dla instancji Redis?
    14. Odpowiedź: Aby skonfigurować klaster, możesz włączyć go podczas tworzenia pamięci podręcznej w portalu Azure. Musisz wybrać odpowiedni typ pamięci podręcznej, skonfiguruj ustawienia pamięci podręcznej i włączyć klasterowanie na karcie Advanced.

    15. Jakie są ograniczenia grupowania redis w pamięci podręcznej Azure dla Redis?
    16. Odpowiedź: Ograniczenia obejmują limit odłamka 10 dla pamięci podręcznej z Redis wersją 4, limit odłamka 10 dla pamięci podręcznej dotkniętych emeryturą w chmurze oraz dłuższy czas konserwacji węzłów w pamięci podręcznej klastrowej.

    17. Jakie są kroki, aby stworzyć pamięć podręczną premium w pamięci podręcznej Azure dla Redis?
    18. Odpowiedź: Kroki obejmują logowanie do portalu Azure, wybór Utwórz zasób, wybór pamięci podręcznej Azure dla Redis, konfigurację ustawień pamięci podręcznej, wybór odpowiednich opcji sieciowych i konfiguracja zaawansowanych ustawień, takich jak klastrowanie.

    19. Ile odłamków może obsługiwać skupioną pamięć podręczną z dwoma replikami?
    20. Odpowiedź: Klastowana pamięć podręczna z dwoma replikami może obsługiwać do 20 odłamków.

    21. Ile odłamków może obsługiwać skupioną pamięć podręczną z trzema replikami?
    22. Odpowiedź: Pamięć podręczna z trzema replikami może obsługiwać do 15 odłamków.

    23. Co reprezentuje każdy odłamek w klastrze Redis?
    24. Odpowiedź: Każde odłamki reprezentuje parę pamięci podręcznej pierwotnej/repliki zarządzanej przez Azure w klastrze Redis.

    25. Jak zarządzana jest replikacją w klastrze Redis w pamięci podręcznej Azure dla Redis?
    26. Odpowiedź: Replikacja w klastrze Redis w pamięci podręcznej Azure dla Redis jest zarządzana przez Azure, gdzie każde odłamki ma parę pierwotną/repliką.

    27. Które metody uwierzytelniania są dostępne do łączenia się z pamięcią podręczną premium w pamięci podręcznej Azure dla Redis?
    28. Odpowiedź: Możesz połączyć się z pamięcią podręczną premium w Azure Cache dla Redis publicznie, za pośrednictwem publicznych adresów IP lub punktów końcowych usługi lub prywatnie, korzystając z prywatnego punktu końcowego.

    29. Jakie czynniki należy wziąć pod uwagę przy wyborze wielkości pamięci podręcznej i wyceny w pamięci podręcznej Azure dla Redis?
    30. Odpowiedź: Rozmiar pamięci podręcznej i poziom wyceny określa rozmiar, wydajność i funkcje dostępne dla pamięci podręcznej. Wybór powinien opierać się na pożądanej przepustowości, rozmiaru pamięci i względy kosztów. Portal Azure zapewnia wskazówki dotyczące wyboru odpowiedniego rozmiaru pamięci podręcznej i wyceny.

    Klaster Redis vs. Sentinel 12 maja 2014 r

    Poniższa lista zawiera odpowiedzi na powszechnie zadawane pytania dotyczące pamięci podręcznej Azure w celu klastrowania Redis.

    Skonfiguruj klaster Redis dla pamięci podręcznej Azure Premium dla instancji Redis

    Azure Cache dla Redis oferuje klaster Redis zaimplementowany w Redis. Dzięki klastrze Redis otrzymujesz następujące korzyści:

    • Możliwość automatycznego podziału zestawu danych na wiele węzłów.
    • Możliwość kontynuowania operacji, gdy podzbiór węzłów doświadcza awarii lub nie jest w stanie komunikować się z resztą klastra.
    • Większa przepustowość: przepustowość wzrasta liniowo, gdy zwiększasz liczbę odłamków.
    • Więcej wielkości pamięci: wzrasta liniowo, gdy zwiększasz liczbę odłamków.

    Klastrowanie nie zwiększa liczby połączeń dostępnych dla skupionej pamięci podręcznej. Aby uzyskać więcej informacji na temat rozmiaru, przepustowości i przepustowości z pamięci podręcznej, zobacz Wybór odpowiedniego poziomu

    W Azure klaster Redis jest oferowany jako model podstawowy/repliki, w którym każde odłamki ma parę pierwotną/repliką z replikacją, w której replikacja jest zarządzana przez Azure Cache dla Service Redis Service.

    Azure Cache for Redis obsługuje teraz do 30 odłamków (podgląd)

    Azure Cache for Redis obsługuje teraz do 30 odłamków dla klastrowych pamięci podręcznej. Klastowane buformy skonfigurowane z dwoma replikami mogą obsługiwać do 20 odłamków, a koncentrowane buformy skonfigurowane z trzema replikami mogą obsługiwać do 15 odłamków.

    Ograniczenia

    • Limit odłamków dla pamięci podręcznej z Redis wersja 4 to 10.
    • Limit odłamków dla pamięci podręcznej dotkniętych emeryturą usług w chmurze wynosi 10.
    • Konserwacja potrwa dłużej, ponieważ każdy węzeł zajmie około 20 minut na aktualizację. Inne operacje konserwacyjne zostaną zablokowane, gdy pamięć podręczna jest w utrzymaniu.

    Skonfiguruj klasterowanie

    Klastrowanie jest włączone Nowa pamięć podręczna Azure dla Redis po lewej podczas tworzenia pamięci podręcznej.

    1. Aby utworzyć pamięć podręczną premium, zaloguj się do portalu Azure i wybierz Utwórz zasób. Oprócz tworzenia pamięci podręcznej w portalu Azure, możesz je również utworzyć za pomocą szablonów Menedżera zasobów, PowerShell lub Azure CLI. Aby uzyskać więcej informacji na temat tworzenia pamięci podręcznej Azure dla Redis, zobacz Utwórz pamięć podręczną. Utwórz zasób
    2. Na Nowy strona, wybierz Bazy danych a następnie wybierz Pamięć podręczna Azure dla Redis. Wybierz pamięć podręczną Azure dla Redis
    3. Na Nowa pamięć podręczna Redis Strona, skonfiguruj ustawienia nowej pamięci podręcznej premium.
      Ustawienie Sugerowana wartość Opis
      Nazwa DNS Wprowadź globalnie unikalną nazwę. Nazwa pamięci podręcznej musi być ciągiem od 1 do 63 znaków. Ciąg może zawierać tylko liczby, litery lub łączniki. Nazwa musi rozpocząć się i zakończyć z liczbą lub literą i nie może zawierać kolejnych łączników. Twoja instancja pamięci podręcznej Nazwa hosta będzie .Redis.Pamięć podręczna.okna.internet.
      Subskrypcja Rozwijaj i wybierz subskrypcję. Subskrypcja, w ramach której można stworzyć nową pamięć podręczną Azure dla Instancji Redis.
      Grupa zasobów Rozwijana i wybierz grupę zasobów lub wybierz Tworzyć nowe i wprowadź nową nazwę grupy zasobów. Nazwa grupy zasobów, w której można tworzyć pamięć podręczną i inne zasoby. Układając wszystkie zasoby aplikacji w jednej grupie zasobów, możesz łatwo je zarządzać lub usunąć.
      Lokalizacja Rozwijanie i wybierz lokalizację. Wybierz region w pobliżu innych usług, które będą korzystać z pamięci podręcznej.
      Typ pamięci podręcznej Rozwijana i wybierz pamięć podręczną premium, aby skonfigurować funkcje premium. Aby uzyskać szczegółowe informacje, zobacz Azure Cache, aby wycenić ceny redis. Wiersz wyceny określa rozmiar, wydajność i funkcje, które są dostępne dla pamięci podręcznej. Aby uzyskać więcej informacji, zobacz Azure Cache dla przeglądu Redis.
    4. Wybierz Networking karta lub wybierz Networking przycisk u dołu strony.
    5. w Networking Tab, wybierz metodę łączności. W przypadku instancji pamięci podręcznej premium możesz połączyć się publicznie, za pośrednictwem publicznych adresów IP lub punktów końcowych usługi lub prywatnie, korzystając z prywatnego punktu końcowego.
    6. Wybierz Dalej: Advanced karta lub wybierz Dalej: Advanced przycisk na dole strony.
    7. w Zaawansowany Zakładka dla instancji pamięci podręcznej premium, skonfiguruj ustawienia portu inne niż TLS, klastrowanie i trwałość danych. Aby włączyć klaster, wybierz Włączać. Przełączanie klastrowaniaMożesz mieć do 10 odłamków w klastrze. Po wybraniu Włączać, przesuń suwak lub wpisz liczbę między 1 a 10 dla Liczba odłamków i wybierz OK. Każde odłamki jest parą pamięci podręcznej pierwotnej/repliki zarządzanej przez Azure, a całkowity rozmiar pamięci podręcznej oblicza się przez pomnożenie liczby odłamków przez rozmiar pamięci podręcznej wybrany na poziomie cenowym. Wybrany przełącznik grupowaniaPo utworzeniu pamięci podręcznej podłączasz się do niej i używasz go jak pamięć podręczna bezklinowana. Redis rozpowszechnia dane w odchyleniu pamięci podręcznej. Jeśli włączona jest diagnostyka, wskaźniki są przechwytywane osobno dla każdego odłamka i można je oglądać w pamięci podręcznej Azure dla Redis po lewej stronie.
    8. Wybierz Dalej: Tagi karta lub wybierz Dalej: Tagi przycisk u dołu strony.
    9. Opcjonalnie w Tagi Tab, wprowadź nazwę i wartość, jeśli chcesz kategoryzować zasób.
    10. Wybierać Recenzja + Utwórz. Zakłada się na kartę Recenzji + Utwórz, gdzie Azure waliduje Twoją konfigurację.
    11. Po wyświetleniu przekazanej wiadomości zielonej walidacji wybierz Tworzyć.

    Utworzenie pamięci podręcznej zajmuje trochę czasu. Możesz monitorować postępy w pamięci podręcznej platformy Azure dla Redis Przegląd strona. Gdy Status pokazuje jako Działanie, pamięć podręczna jest gotowa do użycia.

    Istnieje pewne niewielkie różnice w aplikacji klienckiej podczas konfigurowania klastrowania. Aby uzyskać więcej informacji, zobacz, czy muszę wprowadzić wszelkie zmiany w mojej aplikacji klienckiej, aby korzystać z klastrowania?

    Dla przykładowego kodu pracy z grupowaniem ze stckexchange.Klient Redis, zobacz klasterowanie.CS Partion of the Hello World Próbka.

    Zmień rozmiar klastra na działającej pamięci podręcznej premium

    Aby zmienić rozmiar klastra na pamięci podręcznej premium, którą utworzyłeś wcześniej, i już działa z włączonym klastrowaniem, wybierz Wielkość klastra Z menu zasobów.

    Zrzut ekranu Menedżera zasobów z wybranym rozmiarem klastra

    Aby zmienić rozmiar klastra, użyj suwaka lub wpisz liczbę między 1 a 10 w Liczba odłamków pole tekstowe. Następnie wybierz OK zapisać.

    Zwiększenie wielkości klastra zwiększa maksymalną przepustowość i rozmiar pamięci podręcznej. Zwiększenie wielkości klastra nie zwiększa maks. Połączenia dostępne dla klientów.

    Skalowanie klastra uruchamia polecenie migracyjne, które jest kosztownym polecenie. Podczas procesu migracji zobaczysz szczyt obciążenia serwera. Skalowanie klastra jest długotrwałym procesem, a czas potrzebny zależy od liczby kluczy i wielkości wartości powiązanych z tymi klawiszami.

    Clustering FAQ

    Poniższa lista zawiera odpowiedzi na powszechnie zadawane pytania dotyczące pamięci podręcznej Azure w celu klastrowania Redis.

    • Czy muszę wprowadzić wszelkie zmiany w mojej aplikacji klienckiej, aby korzystać z klastrowania?
    • Jak dystrybuowane są klucze w klastrze?
    • Jaki jest największy rozmiar pamięci podręcznej, jaką mogę stworzyć?
    • Czy wszyscy klienci Redis obsługują klasterowanie?
    • Jak połączyć się z pamięcią podręczną, gdy klaster jest włączony?
    • Czy mogę bezpośrednio połączyć się z poszczególnymi odłamkami mojej pamięci podręcznej?
    • Czy mogę skonfigurować klaster dla wcześniej utworzonej pamięci podręcznej?
    • Czy mogę skonfigurować klastrowanie dla podstawowej lub standardowej pamięci podręcznej?
    • Czy mogę używać grupowania z Redis ASP.Stan sesji netto i dostawcy buforowania?
    • Używam wyjątków ruchu podczas korzystania z Stackexchange.Redis i grupowanie, co powinienem zrobić?
    • [Czy skalowanie za pomocą klastrowania pomaga zwiększyć liczbę obsługiwanych połączeń klientów?] (#Skalowanie za pomocą klastrowania pomocy w zwiększeniu liczby obsługiwanych połączeń klientów?)

    Czy muszę wprowadzić wszelkie zmiany w mojej aplikacji klienckiej, aby korzystać z klastrowania?

    • Gdy klastrowanie jest włączone, dostępna jest tylko baza danych 0. Jeśli aplikacja kliencka korzysta z wielu baz danych i próbuje odczytać lub zapisać do bazy danych innej niż 0, wrzucono następujący wyjątek: Niezbadany wyjątek: Stackexchange.Redis.RedisconnectionException: Protocolfaillure on Get —> Stackexchange.Redis.RedisCommandException: Wiele baz danych nie jest obsługiwanych na tym serwerze; Nie można przejść na bazę danych: 6 Aby uzyskać więcej informacji, patrz specyfikacja klastra Redis – wdrożenie podzbioru.
    • Jeśli używasz Stackexchange.Redis, musisz użyć 1.0.481 lub później. Podłączasz do pamięci podręcznej za pomocą tych samych punktów końcowych, portów i kluczy, których używasz podczas podłączania do pamięci podręcznej, w której klastrowanie jest wyłączone. Jedyną różnicą jest to, że wszystkie odczyty i zapisy muszą być wykonane w bazie danych 0. Inni klienci mogą mieć różne wymagania. Zobacz, czy wszyscy klienci Redis obsługują klasterowanie?
    • Jeśli aplikacja korzysta z wielu operacji klawiszy popartych w jednym poleceniu, wszystkie klawisze muszą znajdować się w tym samym odłamku. Aby zlokalizować klucze w tym samym odłamku, zobacz, jak dystrybuowane są klucze w klastrze?
    • Jeśli używasz Redis ASP.Dostawca stanu sesji netto, musisz użyć 2.0.1 lub więcej. Zobacz, czy mogę użyć grupowania z Redis ASP.Stan sesji netto i dostawcy buforowania?

    Jak dystrybuowane są klucze w klastrze?

    Według dokumentacji modelu dystrybucji Keys Redis: Kluczowe miejsce jest podzielone na 16 384 gniazd. Każdy klucz jest osądzony i przypisany do jednego z tych szczelin, które są rozmieszczone na węzłach klastra. Możesz skonfigurować, która część klucza jest oskwana, aby upewnić się, że wiele klawiszy znajduje się w tym samym odłamku za pomocą znaczników skrótów.

    • Klawisze z znacznikiem skrótu – jeśli jakakolwiek część klucza jest zamknięta < and >, Tylko ta część klucza jest osądzona do celów określenia gniazda skrótu klucza. Na przykład następujące trzy klawisze znajdują się w tym samym odłamku: 1, 2 i 3, ponieważ tylko kluczowa część nazwy jest haszowana. Aby uzyskać pełną listę specyfikacji znacznika skrótów klawiszów, patrz Tagi Hash Keys.
    • Klucze bez znacznika skrótu – cała nazwa klucza jest używana do mieszania, co powoduje statystycznie równomierne dystrybucję na odłamkach pamięci podręcznej.

    Aby uzyskać najlepszą wydajność i przepustowość, zalecamy równomierne dystrybucję klawiszy. Jeśli używasz klawiszy z znacznikiem skrótu, obowiązkiem aplikacji jest upewnienie się, że klawisze są równomierne.

    Dla przykładowego kodu o pracy z klastrowaniem i lokalizacją klawiszy w tym samym odłamku z Stackexchange.Klient Redis, zobacz klasterowanie.CS Partion of the Hello World Próbka.

    Jaki jest największy rozmiar pamięci podręcznej, jaką mogę stworzyć?

    Największy rozmiar pamięci podręcznej to 1.2 TB. Ten wynik to skupiona pamięć podręczna P5 z 10 odłamkami. Aby uzyskać więcej informacji, zobacz Azure Cache w celu wyceny Redis.

    Czy wszyscy klienci Redis obsługują klasterowanie?

    Wiele bibliotek klientów obsługuje klaster Redis, ale nie wszystkie. Sprawdź dokumentację używaną bibliotekę do sprawdzenia, czy używasz biblioteki i wersji obsługującej klasterowanie. Stackexchange.Redis to jedna biblioteka, która obsługuje klaster, w swoich nowszych wersjach. Aby uzyskać więcej informacji na temat innych klientów, zobacz skalowanie za pomocą klastra Redis.

    Protokół klastrowania Redis wymaga od każdego klienta połączenia się z każdym odłamkiem bezpośrednio w trybie klastrowania, a także określa nowe odpowiedzi błędów, takie jak &bdquo;przeniesione&bdquo; na &rdquo;krzyżelowe&rdquo;. Kiedy próbujesz korzystać z biblioteki klientów, która nie obsługuje klastrowania, z pamięcią podręczną trybu klastra, wynikiem może być wiele wyjątków przeniesionych przekierowania lub po prostu złamać aplikację, jeśli wykonujesz żądania wielopasmowe.

    Jeśli używasz Stackexchange.Redis jako klient, upewnij się, że używasz najnowszej wersji Stackexchange.Redis 1.0.481 lub nowszy, aby klastrować poprawnie działać. Aby uzyskać więcej informacji na temat wszelkich problemów z wyjątkami ruchu, zobacz Wyjątki ruchu.

    Jak połączyć się z pamięcią podręczną, gdy klaster jest włączony?

    Możesz połączyć się z pamięcią podręczną za pomocą tych samych punktów końcowych, portów i klawiszy, których używasz podczas podłączania do pamięci podręcznej, która nie ma włączonego klastrowania. Redis zarządza klastrowaniem na zapleczu, więc nie musisz zarządzać nim od swojego klienta.

    Czy mogę bezpośrednio połączyć się z poszczególnymi odłamkami mojej pamięci podręcznej?

    Protokół klastrowania wymaga od klienta wykonania poprawnych połączeń odłamków, więc klient powinien wykonać dla Ciebie połączenia udostępniania. Powiedziawszy to, każde odłamki składa się z pary pamięci podręcznej pierwotnej/repliki, znanej wspólnie jako instancja pamięci podręcznej. Możesz połączyć się z tymi instancjami pamięci podręcznej za pomocą narzędzia Redis-CLI w niestabilnej gałęzi repozytorium Redis w GitHub. Ta wersja implementuje podstawową obsługę po rozpoczęciu z przełącznikiem -c. Aby uzyskać więcej informacji, zobacz samouczek Redis Cluster.

    W przypadku osób niebędących TLS użyj następujących poleceń.

    Redis-cli.exe –H> -p 13000 (aby połączyć się z instancją 0) Redis -cli.exe –H> -p 13001 (aby połączyć się z instancją 1) Redis -cli.exe –H> -p 13002 (aby połączyć się z instancją 2) . Redis-cli.exe –H> -p 1300N (aby połączyć się z instancją N) 

    W przypadku TLS wymień 1300n 1500N .

    Czy mogę skonfigurować klaster dla wcześniej utworzonej pamięci podręcznej?

    Tak. Po pierwsze, upewnij się, że Twoja pamięć podręczna jest premium, skalując ją. Następnie możesz zobaczyć opcje konfiguracji klastra, w tym opcję włączenia klastra. Zmień rozmiar klastra po utworzeniu pamięci podręcznej lub po włączeniu klastrowania po raz pierwszy.

    Nie możesz cofnąć umożliwienia klastrowania. I pamięć podręczna z włączoną klastrowaniem i zachowuje się tylko jeden odłamek różnie niż pamięć podręczna tego samego rozmiaru z NIE grupowanie.

    Czy mogę skonfigurować klastrowanie dla podstawowej lub standardowej pamięci podręcznej?

    Klastrowanie jest dostępne tylko dla buforów premium.

    Czy mogę używać grupowania z Redis ASP.Stan sesji netto i dostawcy buforowania?

    • Dostawca pamięci podręcznej Redis – Nie wymaga zmian.
    • Dostawca stanu Session Redis – Aby korzystać z klastrów, musisz użyć RedissessionStateProvider 2.0.1 lub wyższy lub wyjątek, co jest zmianą przełomową. Aby uzyskać więcej informacji, zobacz v2.0.0 Breaking Change Szczegóły.

    Używam wyjątków ruchu podczas korzystania z Stackexchange.Redis i grupowanie, co powinienem zrobić?

    Jeśli używasz Stackexchange.Redis i odbieraj wyjątki ruchu podczas korzystania z klastrowania, upewnij się, że używasz Stackexchange.Redis 1.1.603 lub nowszy. Instrukcje dotyczące konfigurowania swojego .Aplikacje netto do korzystania z Stackexchange.Redis, patrz Konfiguruj klientów pamięci podręcznej.

    Czy skalowanie za pomocą klastrowania pomaga zwiększyć liczbę obsługiwanych połączeń klientów?

    Nie, skalowanie za pomocą klastrowania i zwiększania liczby odłamków nie pomaga w zwiększeniu liczby obsługiwanych połączeń klientów.

    Następne kroki

    Dowiedz się więcej o pamięci podręcznej Azure dla funkcji Redis.

    Klaster Redis vs. Posterunek 12 maja 2014 r

    Sentinel i klaster są do różnych zastosowań, ten przewodnik wyjaśni różnice i kiedy użyć każdego.

    Czym oni są?

    Redis ma dwie podstawowe kategorie uruchamiania wielu instancji. Jest &ldquo;standardowa replikacja&rdquo; i wkrótce &ldquo;Klaster Redis&rdquo;. Aby zarządzać replikacją, używasz Sentinel. Klaster w większości się zarządza, ale możesz połączyć te dwa dla rozszerzonych, choć złożonych, ha +replikacja.

    Ten przewodnik poprowadzi Cię przez każdy z nich, aby lepiej zrozumieć różnice i przypadki użycia dla każdego. Zaczniemy od klastra Redis. Zauważ, że w momencie pisania tego przewodnika, klaster nie jest jeszcze w wydaniu produkcyjnym, a szczegóły mogą się zmienić.

    Klaster Redis

    Klaster Redis to przede wszystkim sposób na automatycznie odchylenie danych w wielu instancjach. Ma się wydać w Redis 3.0.

    Co to robi

    Klaster to Redis, który jest skonfigurowany do rozpowszechniania danych w danej liczbie instancji Redis. Aby zarządzać tym, jakie dane są tam, klaster ma specyfikację protokołu, która umożliwia klientom rozmowę z dowolnym głównym w klastrze. Jeśli operowany klucz jest przechowywany lokalnie, dane są zwracane jak zwykle.

    Jeśli jednak dane są przechowywane w innym węźle, zwrócona jest przesunięta odpowiedź, informując klienta, z którym mistrzem porozmawiaj. Ten mechanizm wymaga zatem wsparcia po stronie klienta dla klastra

    Zauważ, że klaster nie zapewnia bezpośrednio HA ani replikacji.

    Do czego służy klaster

    Przypadki użycia dla klastra ewoluują wokół rozkładania obciążenia (w szczególności zapisuje) i przewyższające możliwości pamięci pojedynczej instancji. Jeśli masz 2T danych, nie chcesz pisać kodu SHARDING w kodzie dostępu, ale masz bibliotekę obsługującą klaster, to prawdopodobnie chcesz klaster Redis. Jeśli masz wysoki objętość zapisu do szerokiej gamy kluczy, a biblioteka klientów obsługuje klaster, klaster będzie również dobrze dopasowany.

    Redis Sentinel

    Redis obsługuje wielu niewolników replikujących dane z węzła głównego. Zapewnia to węzeł kopii zapasowej, który zawiera Twoje dane, gotowy do obsługi danych. Jednak w celu zapewnienia zautomatyzowanego przełączania awaryjnego potrzebujesz jakiegoś narzędzia. Dla Redis to narzędzie nazywa się Sentinel. W tym dokumencie użyjemy tego terminu &ldquo;strąk&rdquo; opisać mistrza Redisa z jednym lub więcej niewolnikami; Unika to zamieszania z terminem &ldquo;grupa&rdquo;.

    Co to robi

    Sentinel jest skonfigurowany do wskazania mistrza, którego potrzebujesz. Następnie będzie zapytał Master dla wszystkich powiązanych niewolników. Po ustaleniu konfiguracji kapsułki przejdzie do monitorowania każdego węzła i po potwierdzeniu mistrza w dół, będzie promować niewolnika i ponownie skonfiguruje każdego niewolnika, aby wskazać nowego mistrza.

    Aby użyć tego do przezroczystego zarządzania połączeniem klienta, musisz umieścić węzeł główny za wirtualnym adresem IP lub równoważeniem obciążenia, który zna lub może być dynamicznie skonfigurowany, który węzeł jest głównym.

    Inną opcją jest użycie klienta, który zaimplementował obsługę Sentinel.

    Sentinel używa mechanizmu głosowania+kworum, więc potrzebujesz co najmniej trzech węzłów Sentinel razem. Nazywam to konstelacją wartownika. Każdy kapsułek otrzymuje nazwę w konstelacji. Zapewnia to dodatkową możliwość, jeśli korzystasz z kodu klienta w sentinel. W tym scenariuszu możesz użyć Sentinel do odkrywania usług.

    Co jest

    Standardowy przypadek użycia dla Sentinel to pojedynczy mistrz z 1-2 niewolników gotowych do promowania. Sentinel jest następnie wykorzystywany do utrzymywania ruchu danych przez jeden węzeł przez cały czas, w granicach testowania życia.

    Alternatywnie można wdrożyć pojedynczego wartość i mieć każdy samodzielny mistrz lub każdy podłącz z nim, aby zapewnić odkrycie usług. W tym scenariuszu być może masz &ldquo;WebCache&rdquo; instancja i &ldquo;metryka&rdquo; instancja. Przy odpowiednim obsłudze po stronie klienta aplikacje połączyłyby się z instancją Sentinel i otrzymali informacje o połączeniu dla obu &ldquo;WebCache&rdquo; Lub &ldquo;metryka&rdquo; bez konieczności unikalnych informacji o połączeniu dla każdego klienta.

    Którego użyć

    Jeśli wymagania dotyczące pamięci przekraczają pamięć systemu lub musisz rozpowszechniać zapisy w wielu węzłach, aby utrzymać poziomy wydajności, klaster Redis jest miejscem, w którym powinieneś szukać.

    Jeśli szukasz wysokiej dostępności, ty&rsquo;LL chce bardziej spojrzeć na rozmieszczenie Sentinel.

      Dodatkowa lektura

    • Za pomocą Sentinel

    Bill Anderson [o]

    Profil dla Billa Andersona w Stack Overflow, pytania i odpowiedzi dla profesjonalnych i entuzjastów programistów

    Bill Anderson jest szalonym naukowcem pracującym nad dziwnymi, ale fajnymi i potężnymi sposobami korzystania z Redis. W wolnym czasie lubi grać w Minecraft z żoną i dwiema córkami.

    Instalowanie klastra Redis (włączony tryb klastra) z automatycznym przełączaniem awaryjnym

    Redis to open-source w pamięci danych używany jako baza danych lub pamięć podręczna. Ma wbudowaną replikację i zapewnia wysoką dostępność za pośrednictwem Redis Sentinel i automatyczne partycjonowanie z klastrem Redis. Na tym blogu zobaczymy, co jest i jak zainstalować klaster Redis.

    Co to jest klaster Redis?

    Redis Cluster to wbudowana funkcja Redis, która oferuje automatyczne odchylenie, replikację i wysoką dostępność, która była wcześniej zaimplementowana przy użyciu Sentinels. Ma możliwość automatycznego podziału zestawu danych na wiele węzłów i kontynuowania operacji, gdy podzbiór węzłów doświadcza awarii lub nie jest w stanie komunikować się z resztą klastra.

    Cele klastra Redis to:

    • Wysoka wydajność i liniowa skalowalność dla maksymalnie 1000 węzłów. Nie ma proxy, stosuje się replikację asynchroniczną i nie wykonuje się operacji scalania na wartościach.
    • Dopuszczalny stopień bezpieczeństwa pisania. System próbuje zachować wszystkie zapisy pochodzące od klientów związanych z większością węzłów głównych. Zwykle istnieją małe okna czasu, w których można utracić uznane zapisy.
    • Jest w stanie przetrwać partycje, w których większość węzłów głównych jest osiągalna i jest co najmniej jeden osiągalny niewolnik dla każdego węzła głównego, który nie jest już dostępny.

    Teraz, gdy wiemy, co to jest, niech&rsquo;S zobacz, jak go zainstalować.

    Jak zainstalować klaster Redis

    Zgodnie z oficjalną dokumentacją minimalny klaster, który działa zgodnie z oczekiwaniami, wymaga zawierania co najmniej trzech węzłów głównych, ale w rzeczywistości zaleceniem jest posiadanie klastra sześciu węzłów z trzema mistrzami i trzema węzłami dla niewolników, więc pozwól, aby niech niewolnicy&rsquo;S, rób to.

    W tym przykładzie zainstalujemy klaster Redis w Centos 8 przy użyciu następującej topologii:

    Master 1: 10.10.10.121 Master 2: 10.10.10.122 Master 3: 10.10.10.123 Slave 1: 10.10.10.124 Slave 2: 10.10.10.125 Slave 3: 10.10.10.126

    Następujące polecenia muszą być uruchamiane we wszystkich węzłach, mistrzu i niewolniku.

    Domyślnie podczas tworzenia tego postu na blogu dostępna wersja Redis na Centos 8 to 5.0.3, więc niech&rsquo;s Użyj repozytorium REMI, aby mieć bieżącą stabilną wersję 6.2:

    $ dnf Zainstaluj https: // rpms.remirepo.Net/Enterprise/Remi-Rulease-8.RPM -y $ DNF Moduł Instaluj Redis: RESI -6.2 -Y

    Włącz usługę Redis:

    $ Systemctl Włącz Redis.praca

    Aby skonfigurować klaster Redis, musisz edytować plik konfiguracyjny Redis /etc /redis.conf i zmień następujące parametry:

    $ vi /etc /redis.conf bind 10.10.10.121 #Wprowadź ten adres IP do lokalnego adresu IP na każdym węzle chronionym trybie bez portu 7000-obsługującego klaster Węzły plik klasterowych.Conf Cluster-Node Timeout 15000 załącznik tak

    Te parametry to:

    • PIRN: Domyślnie, jeśli nie jest określony, Redis słucha połączeń ze wszystkich dostępnych interfejsów sieciowych na serwerze. Możliwe jest wysłuchanie tylko jednego lub wielu wybranych interfejsów.
    • Mod chroniony: Tryb chroniony jest warstwą ochrony bezpieczeństwa, aby uniknąć, że instancje Redis pozostawione w Internecie są dostępne i wykorzystane. Domyślnie jest włączony tryb chroniony.
    • Port: Zaakceptuj połączenia w określonym porcie, domyślnie 6379. Jeśli podano port 0, Redis nie będzie słuchać w gnieździe TCP.
    • Zestaw klastra: Włącza/wyłącza obsługę klastra Redis w określonym węźle Redis. Jeśli jest wyłączony, instancja zaczyna się jako samodzielna instancja jak zwykle.
    • klaster-config-plik: plik, w którym węzeł klastra Redis automatycznie utrzymuje konfigurację klastra za każdym razem, gdy nastąpi zmiana, aby móc ponownie ją przeczytać podczas uruchamiania.
    • Time-węzeł klastra: maksymalna ilość czasu (w milisekundach) węzeł klastra Redis może być niedostępny, bez uznania go za niepowodzenie. Jeśli węzeł główny nie jest osiągalny przez więcej niż określony czas, nie będzie go powiadomił.
    • DODATKOWANIE: Plik Dołączający jest alternatywnym trybem trwałości, który zapewnia znacznie lepszą trwałość. Na przykład korzystając z domyślnej zasady FSYNC danych, Redis może stracić tylko jedną sekundę zapisów w awarii serwera, takiej jak awaria zasilania lub pojedynczy zapis, jeśli coś jest nie tak z samym procesem Redis, ale system operacyjny nadal działa poprawnie.

    Każdy węzeł klastra Redis wymaga otwartych dwóch połączeń TCP. Normalny port Redis TCP używany do obsługi klientów, domyślnie 6379 i portu uzyskanego przez dodanie 10000 do portu danych, więc domyślnie 16379. Ten drugi port jest przypisany do magistrali klastrowej, która jest używana przez węzły do ​​wykrywania awarii, aktualizacji konfiguracji, autoryzacji awaryjnej i innych.

    Teraz możesz rozpocząć usługę Redis:

    $ systemctl start redis.praca

    W pliku dziennika Redis, domyślnie/var/log/redis/redis.Log, zobaczysz to:

    76: M 02 lipca 2021 18:06:17.658 * Gotowy do przyjęcia połączeń

    Teraz wszystko jest gotowe, musisz utworzyć klaster za pomocą narzędzia REDIS-CLI. W tym celu musisz uruchomić następujące polecenie tylko w jednym węźle:

    $ redis-cli-klaster Utwórz 10.10.10.121: 7000 10.10.10.122: 7000 10.10.10.123: 7000 10.10.10.124: 7000 10.10.10.125: 7000 10.10.10.126: 7000-repliki klastra 1

    W tym poleceniu musisz dodać adres IP i port Redis dla każdego węzła. Trzy pierwsze węzły będą głównymi węzłami, a reszta niewolników. Repliki klastra 1 oznacza jeden węzeł niewolniczy dla każdego mistrza. Dane wyjściowe tego polecenia będzie wyglądać mniej więcej tak:

    >>> Wykonanie alokacji szczelin skrótu na 6 węzłach. Master [0] -> Glots 0 - 5460 Master [1] -> Glots 5461 - 10922 Master [2] -> Glots 10923 - 16383 Dodawanie repliki 10.10.10.125: 7000 do 10.10.10.121: 7000 Dodawanie repliki 10.10.10.126: 7000 do 10.10.10.122: 7000 Dodawanie repliki 10.10.10.124: 7000 do 10.10.10.123: 7000 M: 4394D8EB03DE1F524B56CB385F0EB9052CE65283 10.10.10.121: 7000 automatów: [0-5460] (5461 szczeliny) Master M: 5cc0f693985913c553c6901e102a3cb8d6678bd 10.10.10.122: 7000 miejsc: [5461-10922] (5462 automatów) Master M: 22DE56650B3714C1C42FC0D120F80C66C24D8795 10 10.10.10.123: 7000 automatów: [10923-16383] (5461 automatów) Master S: 8675CD30FDD4EFA088634E50FBD5C0675238A35E 10.10.10.124: 7000 powtórzeń 22DE56650B3714C1C42FC0D120F80C66C24D8795 S: AD0F5210DDA1736A1B5467CD6E797F011A192097 10.10.10.125: 7000 powtórzeń 4394D8EB03DE1F524B56CB385F0EB9052CE65283 S: 184ADA329264E994781412F3986C425A248F386E 10.10.10.126: 7000 powtórzeń 5CC0F693985913C553C6901E102A3CB8D6678BD Mogę ustawić powyższą konfigurację? (Wpisz &bdquo;Tak&rdquo; do zaakceptowania):

    Po przyjęciu konfiguracji zostanie utworzony klaster:

    >>> Konfiguracja węzłów Zaktualizowano >>> Przypisz inną epokę konfiguracyjną do każdego węzła >>> Wysyłanie klastrów spełnia wiadomości, aby dołączyć do klastra, czekając na połączenie klastra . >>> Wykonanie kontroli klastra (za pomocą węzła 10.10.10.121: 7000) M: 4394D8EB03DE1F524B56CB385F0EB9052CE65283 10 10.10.10.121: 7000 automatów: [0-5460] (5461 szczeliny) Master 1 Dodatkowe repliki (s) S: 184ADA329264E994781412F3986C425A248F386E 10.10.10.126: 7000 automatów: (0 miejsc) powtórzenia niewolników 5CC0F693985913C553C6901E102EA3CB8D6678BD M: 5CC0F693985913C553C6901E102EA3CB8D6678BD 10.10.10.122: 7000 miejsc: [5461-10922] (5462 szczeliny) Master 1 Dodatkowe replika (s) M: 22DE56650B3714C1C42FC0D120F80C66C24D8795 10.10.10.123: 7000 automatów: [10923-16383] (5461 automatów) Master 1 Dodatkowe replika (s) S: AD0F5210DDA1736A1B5467CD6E797F011A192097 10.10.10.125: 7000 miejsc: (0 miejsc) powtórzenia niewolników 4394D8EB03DE1F524B56CB385F0EB9052CE65283 S: 8675CD30FDD4EFA088634E50FBD5C0675238A35E 10E 10.10.10.124: 7000 gniazd: (0 gniazd) Powtórzenia niewolników 22DE56650B3714C1C42FC0D120F80C66C24D8795 [OK] Wszystkie węzły zgadzają się na konfigurację gniazd. >>> Sprawdź otwarte szczeliny. >>> Sprawdź pokrycie automatów. [OK] Wszystkie 16384 pokryte gniazda.

    Jeśli spojrzysz na plik dziennika głównego, zobaczysz:

    3543: M 02 lipca 2021 19:40:23.250 # ConfigEPOCH Ustaw na 1 przez zestaw klastrów-config-epoch 3543: m 02 lipca 2021 19:40:23.258 # adres IP dla tego węzła zaktualizowany do 10.10.10.121 3543: M 02 lipca 2021 19:40:25.281 * Replika 10.10.10.125: 7000 pyta o synchronizację 3543: M 02 lipca 2021 19:40:25.281 * Częściowa resynchronizacja nie zaakceptowana: niedopasowanie ID replikacji (Replica poprosiła o &bdquo;1F42A85E22D8A19817844AEC14FBB8201A6F88&rdquo;, moje identyfikatory replikacji to &bdquo;9F8DB08A36207C17800F75487B193A624F17F091&rdquo; i 000000000000000000000000 ') 3543: M 02 lipca 2021 19:40:25.281 * Utworzono zaległości w replikacji, moje nowe identyfikatory replikacji to &bdquo;21ABFCA3B9405356569B2684C6D68C0D2EC19B3B&rdquo; i &bdquo;0000000000000000000000000000000000000000&rdquo; 3543: M 02 JUL 2021.281 * Uruchamianie BGSAVE do synchronizacji z Target: Dysk 3543: M 02 lipca 2021 19:40:25.284 * Zapisanie w tle rozpoczęte przez PID 3289 3289: C 02 lipca 2021 19:40:25.312 * db zapisane na dysku 3289: c 02 lipca 2021 19:40:25.313 * RDB: 0 MB pamięci używanej przez kopię-write 3543: M 02 lipca 2021 19:40:25.369 * Zapisywanie w tle zakończone z sukcesem 3543: M 02 lipca 2021 19:40:25.369 * Synchronizacja z repliką 10.10.10.125: 7000 zastąpił 3543: M 02 lipca 2021 19:40:28.180 # Stan klastra Zmieniony: OK

    I replika&rsquo;p plik dziennika:

    11531: M 02 lipca 2021 19:40:23.253 # ConfigEPOCH Ustaw na 4 przez zestaw klastrów-config-epoch 11531: m 02 lipca 2021 19:40:23.357 # adres IP dla tego węzła zaktualizowany do 10.10.10.124 11531: S 02 lipca 2021 19:40:25.277 * Przed przekształceniem w replikę, używając moich własnych parametrów głównych do syntezy buforowanego mistrza: Mogę zsynchronizować z nowym Master z tylko częściowym transferem. 11531: S 02 lipca 2021 19:40:25.277 * Łączenie z Master 10.10.10.123: 7000 11531: S 02 lipca 2021 19:40:25.277 * Synchronizacja repliki głównej rozpoczęła się 11531: S 02 lipca 2021 19:40:25.277 # Stan klastra Zmieniony: OK 11531: S 02 lipca 2021 19:40:25.277 * Nie blokujący Connect do synchronizacji wystrzeliwał zdarzenie. 11531: S 02 lipca 2021 19:40:25.278 * Master odpowiedział na ping, replika może być kontynuowana. 11531: S 02 lipca 2021 19:40:25.278 * Próbowanie częściowej resynchronizacji (żądanie 7D8DA986C7E699FE33002D10415F98E91203DE01: 1). 11531: S 02 lipca 2021 19:40:25.279 * Pełny resync od Master: 99A8DEFC35B459B7B73277933AA526D3F72AE76E: 0 11531: S 02 lipca 2021 19:40:25.279 * Odrzucenie wcześniej buforowanego stanu mistrzowskiego. 11531: S 02 lipca 2021 19:40:25.299 * Master Replica Sync: Otrzymanie 175 bajtów od mistrza na dysk 11531: S 02 lipca 2021 19:40:25.299 * Master Replica Sync: Flushing Old Data 11531: S 02 lipca 2021 19:40:25.300 * Master Replica Sync: Ładowanie DB w pamięci 11531: S 02 lipca 2021 19:40:25.306 * Ładowanie RDB wyprodukowane przez wersję 6.2.4 11531: S 02 lipca 2021 19:40:25.306 * RDB Wiek 0 sekund 11531: S 02 lipca 2021 19:40:25.306 * Zastosowanie pamięci RDB po utworzeniu 2.60 MB 11531: S 02 lipca 2021 19:40:25.306 * Master Replica Sync: Ukończona z sukcesem 11531: S 02 lipca 2021 19:40:25.308 * Wpływając tylko przepisywanie plików zapoczątkowanych przez PID 2487 11531: S 02 lipca 2021 19:40:25.342 * AOF Przepisanie dziecka prosi o zaprzestanie wysyłania różnic. 2487: C 02 lipca 2021 19:40:25.342 * rodzic zgodził się przestać wysyłać różnice. Finalizowanie AOF. 2487: C 02 lipca 2021 19:40:25.342 * Contatenating 0.00 MB różnicy AOF otrzymane od rodzica. 2487: C 02 lipca 2021 19:40:25.343 * Zsynchronizuj tylko plik przepisany plik wykonany 2487: c 02 lipca 2021 19:40:25.343 * AOF Przepisanie: 0 MB pamięci używanej przez kopię na Write 11531: S 02 lipca 2021 19:40:25.411 * Tło AOF Przepisane zakończone z sukcesem 11531: S 02 lipca 2021 19:40:25.411 * Rezultatna różnica nadrzędna z powodzeniem spłukiwana do przepisanego AOF (0.00 MB) 11531: S 02 lipca 2021 19:40:25.411 * Tło AOF Przepisanie zakończone

    Monitorowanie węzłów klastrów Redis

    Aby poznać status każdego węzła Redis, możesz użyć następującego polecenia:

    $ redis -cli -h 10.10.10.121 -p 7000 węzłów klastrów 184ADA329264E994781412F3986C425A248F386E 10.10.10.126: [chroniony e -mail] Slave 5cc0f693985913c553c6901e102e3cb8d6678bd 0 1625255155519 2 Połączone 5cc0f693985913c553c6901e102Ea3cb8d6678bd 10.10.10.122: [chroniony e -mail] Master - 0 1625255153513 2 podłączone 5461-10922 22DE56650B3714C1C42FC0D120F80C66C24D8795 10.10.10.123: [chroniony e -mail] Master - 0 1625255151000 3 podłączone 10923-16383 AD0F5210DDA1736A1B5467CD6E797F011A192097 10 10.10.10.125: [chroniony e -mail] Slave 4394D8EB03DE1F524B56CB385F0EB9052CE65283 0 1625255153000 1 Połączone 8675CD30FDD4EFA088634E50FBD5C0675238A35E 10.10.10.124: [chroniony e -mail] Slave 22DE56650B3714C1C42FC0D120F80C66C24D8795 0 1625255154515 3 Podłączony 4394D8EB03DE1F524B56CB385F0EB9052CE65283 10.10.10.121: [e -mail chroniony] ja, master - 0 1625255152000 1 podłączony 0-5460

    Możesz także filtrować wyjście za pomocą polecenia Grep Linux, aby sprawdzić tylko węzły główne:

    $ redis -cli -h 10.10.10.121 -p 7000 węzłów klastrów | GREP Master 5CC0F693985913C553C6901E102A3CB8D6678BD 10.10.10.122: [chroniony e -mail] Master - 0 1625255389768 2 Connected 5461-10922 22DE56650B3714C1C42FC0D120F80C66C24D8795 10.10.10.123: [chroniony e -mail] Master - 0 1625255387000 3 podłączony 10923-16383 4394D8EB03DE1F524B56CB385F0EB9052CE65283 10.10.10.121: [e -mail chroniony] ja, master - 0 1625255387000 1 podłączony 0-5460

    Lub nawet węzły niewolników:

    $ redis -cli -h 10.10.10.121 -p 7000 węzłów klastrów | GREP SLAVE 184ADY329264E994781412F3986C425A248F386E 10.10.10.126: [chroniony e -mail] Slave 5cc0f693985913c553c6901e102Ea3cb8d6678bd 0 1625255395795 2 Połączone AD0F5210DDA1736A1B5467CD6E797F011A192097 10 10.10.10.125: [chroniony e -mail] Slave 4394D8EB03DE1F524B56CB385F0EB9052CE65283 0 1625255395000 1 Połączone 8675CD30FDD4EFA088634E50FBD5C0675238A35E 10.10.10.124: [chroniony e -mail] Slave 22DE56650B3714C1C42FC0D120F80C66C24D8795 0 1625255393000 3

    Redis Cluster Auto Failover

    Pozwalać&rsquo;S Testuj funkcję automatycznego przełączania awaryjnego w klastrze Redis. W tym celu zatrzymamy usługę Redis w jednym węźle głównym i zobaczymy, co się stanie.

    Na Master 2–10.10.10.122:

    $ Systemctl Stop Redis $ Systemctl Status Redis | GREP Active Active: Nieaktywne (martwe) od FRI 2021-07-02 19:53:41 UTC; 1h 4 min

    Teraz pozwól&rsquo;S Sprawdź wyjście polecenia, którego użyliśmy w poprzedniej sekcji do monitorowania węzłów Redis:

    $ redis -cli -h 10.10.10.121 -p 7000 węzłów klastrów 184ADA329264E994781412F3986C425A248F386E 10.10.10.126: [chroniony e -mail] Master - 0 1625255654350 7 podłączony 5461-10922 5CC0F693985913C553C6901E102A3CB8D6678BD 10.10.10.122: [chroniony e -mail] Master, Fail - 1625255622147 1625255621143 2 Odłączone 22DE56650B3714C1C42FC0D120F80C66C24D8795 10.10.10.123: [chroniony e -mail] Master - 0 1625255654000 3 podłączone 10923-16383 AD0F5210DDA1736A1B5467CD6E797F011A192097 10 10.10.10.125: [chroniony e -mail] Slave 4394D8EB03DE1F524B56CB385F0EB9052CE65283 0 1625255656366 1 podłączony 8675CD30FDD4Efa088634e50fbd5c0675238a35e 10.10.10.124: [chroniony e -mail] Slave 22DE56650B3714C1C42FC0D120F80C66C24D8795 0 1625255655360 3 Połączone 4394D8EB03DE1F524B56CB385F0EB9052CE65283 10.10.10.121: [e -mail chroniony] ja, mistrz - 0 1625255653000 1 podłączony 0-5460

    Jak widać, jeden z węzłów niewolników został awansowany na mistrz, w tym przypadku niewolnik 3–10.10.10.126, więc auto awaryjne działało zgodnie z oczekiwaniami.

    Wniosek

    Redis to dobra opcja na wypadek, gdybyś chciał użyć danych danych w pamięci. Jak widać w tym poście na blogu, instalacja nie jest nauką rakietową, a wykorzystanie klastra Redis jest wyjaśnione w jej oficjalnej dokumentacji. Ten blog obejmuje po prostu podstawowe etapy instalacji i testów, ale możesz to również ulepszyć, na przykład dodanie uwierzytelniania w konfiguracji Redis, a nawet uruchomienie testu porównawczego za pomocą narzędzia Redis-Benchmark do sprawdzenia wydajności.

    Produkty powiązane

    Redis: Replikacja, część 1 – Przegląd. Replikacja vs Sharding. Sentinel vs Cluster. Topologia Redis.

    CodeProject
    Początkowo planowano napisać jeden mały post z przykładem, jak stworzyć replikację Redis, ale jak czytam coraz więcej szczegółów – chciałem coraz więcej opisać o tym, więc w końcu podzieliłem ten post na dwie części na dwie części.

    W tym – krótki przegląd, krótkie wyjaśnienie różnic w typach dystrybucji danych Redis, przykłady topologii.

    Krótko mówiąc, ale z linkami do szczegółowej dokumentacji i innych przydatnych postów na temat innych zasobów.

    W drugiej części – kilka przykładów skonfigurowania prostej replikacji i replikacji za pomocą Redis Sentinel.

    W trzecie.

    Replikacja Redis vs Sharding

    Redis obsługuje dwa typy udostępniania danych Replikacja (znany również jako Mirroring, duplikacja danych) i Sharding (znany również jako partycjonowanie, segmentacja danych). W tym – klaster Redis może używać obu metod jednocześnie.

    Replikacja

    To radzenie sobie z danymi ogólnymi węzłami Redis w klastrze, który pozwala składać żądania do jednego lub więcej węzłów niewolników i wytrwałość danych, jeśli niektóre z tych węzłów spadną, zapewniając wysoką dostępność.

    Korzystanie z tego podejścia – Czytać Prośby będą szybsze.

    Sharding

    W przypadku segmentacji danych – wszystkie dane zostaną podzielone na kilka części, co poprawi każdy węzeł&rsquo;S wydajność, ponieważ będzie przechowywać tylko część danych i nie będzie obsługiwać wszystkich żądań.

    Korzystanie z tego podejścia – pisać Prośby pójdą szybciej.

    Redis Sentinel vs Redis Cluster

    Redis Sentinel

    Został dodany do Redis v.2.4 i zasadniczo jest usługą monitorującą mistrza i niewolników.

    Może również wysyłać powiadomienia, automatycznie przełączać role mistrzów i niewolników.

    Może mieć poczucie użycia do nagiej replikacji mistrzów (patrz poniżej) bez pełnego klastrowania.

    Działa jako dedykowany demon przy użyciu binarnego lub serwera Redis posterunek tryb.

    Wykonuje węzły rekonfiguracyjne, jeśli mistrz zejdzie – wybierze nowego mistrza od niewolników po lewej stronie.

    Wymaga co najmniej trzech instancji Sentinel, aby mieć kworum na nowe mistrzowskie wybory i zdecydować, czy jeden z węzłów Redis spadnie

    Klaster Redis

    Został dodany do Redis v.3.0 i reprezentuje pełne rozwiązanie grupowania segmentacji, replikacji i zarządzania węzłami.

    Przeprowadzi synchronizację danych, replikację, zarządzać węzłami dostępu do trwałości, jeśli niektórzy spadną.

    Użycie Sentinel w sprawie klastra Redis&rsquo;t mają sens, ponieważ klaster zrobi wszystko sam.

    Topologia Redis

    Jedna instancja Redis

    Najprostszy i MOR Classical Case.

    Prosty w uruchomieniu i konfiguracji.

    Ograniczone przez gospodarza&rsquo;Z zasobów – jego procesor i pamięć.

    W przypadku takiej instancji Redis spadnie – wszystkie usługi zależne zostaną zepsute, a także nie ma żadnych mechanizmów dostępności ani tolerancji błędów.

    Replikacja mistrza niewolnika

    Jeden mistrz, który ma dołączone niewolników wielu.

    Dane zostaną zaktualizowane o tym głównym, a następnie Master popchnie te zmiany do swoich replików.

    Niewolnicy mogą rozmawiać tylko z mistrzem i mogą&rsquo;t komunikuj się z innymi niewolnikami, ale nadal mogą mieć własnych niewolników

    Niewolnicy są węzłami tylko do odczytu-nie można tam przeprowadzić żadnych zmian danych&rsquo;T Skonfigurowane jawnie (patrz druga część tego postu).

    W przypadku spadku jakiegokolwiek węzła – wszystkie dane będą nadal dostępne dla klientów, ponieważ dane są replikowane przez wszystkie węzły.

    Proste w konfiguracji, ale pisać Operacje są ograniczone przez mistrza&rsquo;s zasobów.

    W przypadku mistrza spadnie – ty&rsquo;Będę musiał ręcznie ponownie skonfigurować niewolników i zmienić niewolnika na role dla jednego na nich.

    Ponadto klienci muszą wiedzieć, które muszą używać do operacji zapisów.

    Redis Sentinel

    Już opisane powyżej, ale jeszcze kilka słów tutaj.

    Podobnie jak replikacja Redis – Sentinel ma jeden instancję główną, która ma pierwszeństwo przy podejmowaniu decyzji o Master Redis&rsquo;wybory.

    I.mi. W przypadku jednego Master Redis i dwóch niewolników, a jeśli Sentinel Master pracuje nad tym samym gospodarzem, w którym działa Redis Master, a ten host upadnie – Sentinel wybierze Sentinel&rsquo;S Nowa instancja główna i te dwa instancje Sentinels muszą zdecydować, który Redis Slave będzie musiał zostać nowym mistrzem Redis.

    W trakcie tego – wartownik&rsquo;S Mistrz będzie miał większą wagę w takich wyborach.

    Należy pamiętać, że nie każdy klient Redis, który może pracować z Sentinel, wszystkiego klienta można znaleźć tutaj >>>.

    Klaster Redis

    I najpotężniejsze rozwiązanie – klaster Redis.

    Ma kilka instancji głównych i każdy może mieć jeszcze jeden – do 1000 – niewolników.

    Zajmie się odcinaniem danych, replikacją, synchronizacją i operacją przełączania awaryjnego.

    Musi mieć co najmniej 6 węzłów Redis – 3 dla mistrzów i trzech dla niewolników.

    Może przekierowywać żądania klientów do niezbędnego hosta głównego lub niewolnika – ale klient musi mieć możliwość pracy z klastrem Redis.

    Powiązane linki

    • Społeczność Redis
    • Replikacja redis
    • Samouczek klastra Redis
    • Specyfikacja klastra Redis
    • Wprowadzenie do klastra Redis Sharding
    • Jak skonfigurować klaster Redis ze źródła
    • Replikacja Redis vs Sharding
    • Klaster Redis vs Redis replikacja
    • Klaster Redis Sentinel & Redis – co?
    • Jakiego wdrożenia Redis potrzebujesz?