Azure Cache for Redis i niezawodność
Azure Cache for Redis udostępnia magazyn danych w pamięci oparty na oprogramowaniu Redis (zdalny serwer słownika). Jest to bezpieczny broker pamięci podręcznej danych i komunikatów, który zapewnia wysoką przepływność i dostęp z małymi opóźnieniami do danych dla aplikacji.
Kluczowe pojęcia i najlepsze rozwiązania, które obsługują niezawodność, obejmują:
Poniższe sekcje obejmują zagadnienia dotyczące projektowania, listę kontrolną konfiguracji i zalecane opcje konfiguracji specyficzne dla Azure Cache for Redis.
Zagadnienia dotyczące projektowania
Umowa dotycząca poziomu usług (SLA) Azure Cache for Redis obejmuje tylko pamięci podręczne w warstwie Standardowa i Premium. Warstwa Podstawowa nie jest objęta.
Redis to pamięć podręczna w pamięci dla par klucz-wartość i ma domyślnie wysoką dostępność (HA), z wyjątkiem warstwy Podstawowa. Istnieją trzy warstwy dla Azure Cache for Redis:
Podstawowe: Niezalecane w przypadku obciążeń produkcyjnych. Warstwa Podstawowa jest idealna dla:
- Jeden węzeł
- Wiele rozmiarów
- Opracowywanie zawartości
- Testowanie
- Obciążenia niekrytyczne
Standardowa: replikowana pamięć podręczna w konfiguracji podstawowej i pomocniczej z dwoma węzłami zarządzana przez firmę Microsoft z umową SLA o wysokiej dostępności.
Premium: obejmuje wszystkie funkcje warstwy Standardowa i obejmuje następujące inne funkcje:
- Szybszy sprzęt i wydajność w porównaniu z warstwą Podstawowa lub Standardowa.
- Większy rozmiar pamięci podręcznej, do
120GB
. - Trwałość danych, która obejmuje plik bazy danych Redis (RDB) i plik tylko do dołączania (AOF).
- Obsługa sieci wirtualnej.
- Analiza skupień
- Replikacja geograficzna: pomocnicza pamięć podręczna znajduje się w innym regionie i replikuje dane z serwera podstawowego na potrzeby odzyskiwania po awarii. Aby przejść w tryb failover do pomocniczej bazy danych, pamięci podręczne muszą być odłączone ręcznie, a następnie pomocnicze są dostępne dla zapisów. Aplikacja zapisu w usłudze Redis musi zostać zaktualizowana przy użyciu pamięci podręcznej pomocniczej parametry połączenia.
- Strefy dostępności: wdróż pamięć podręczną i repliki w różnych strefach dostępności.
Uwaga
Domyślnie każde wdrożenie będzie mieć jedną replikę na fragment. Trwałość, klastrowanie i replikacja geograficzna są obecnie wyłączone z wdrożeniami, które mają więcej niż jedną replikę. Węzły będą dystrybuowane równomiernie we wszystkich strefach. Powinna istnieć liczba stref z liczbą
>=
replik. - Importowanie i eksportowanie.
Firma Microsoft gwarantuje co najmniej 99.9%
czas, w jaki klienci będą mieli łączność między punktami końcowymi pamięci podręcznej a bramą internetową firmy Microsoft.
Lista kontrolna
Czy skonfigurowano Azure Cache for Redis z myślą o odporności?
- Zaplanuj aktualizacje.
- Monitorowanie pamięci podręcznej i ustawianie alertów.
- Wdróż pamięć podręczną w sieci wirtualnej.
- Ocena strategii partycjonowania w pamięci podręcznej Redis Cache.
- Skonfiguruj trwałość danych , aby zapisać kopię pamięci podręcznej w usłudze Azure Storage lub użyć replikacji geograficznej w zależności od wymagań biznesowych.
- Zaimplementuj zasady ponawiania prób w kontekście usługi Azure Redis Cache.
- Użyj jednej statycznej lub pojedynczej implementacji multipleksera połączenia z usługą Redis i postępuj zgodnie z przewodnikiem najlepszych rozwiązań.
- Zapoznaj się z tematem Jak administrować Azure Cache for Redis.
Zalecenia dotyczące konfiguracji
Zapoznaj się z poniższą tabelą zaleceń, aby zoptymalizować konfigurację Azure Cache for Redis pod kątem niezawodności usługi:
Zalecenie | Opis |
---|---|
Zaplanuj aktualizacje. | Zaplanuj dni i godziny stosowania aktualizacji serwera Redis do pamięci podręcznej, która nie obejmuje aktualizacji platformy Azure ani aktualizacji systemu operacyjnego maszyny wirtualnej. |
Monitorowanie pamięci podręcznej i ustawianie alertów. | Ustaw alerty dotyczące wyjątków, wysokiego użycia procesora CPU, wysokiego użycia pamięci, obciążenia serwera i kluczy eksmitowanych, aby uzyskać szczegółowe informacje o tym, kiedy skalować pamięć podręczną. Jeśli pamięć podręczna musi być skalowana, zrozumienie, kiedy należy skalować, jest ważne, ponieważ zwiększy użycie procesora CPU podczas zdarzenia skalowania w celu przeprowadzenia migracji danych. |
Wdróż pamięć podręczną w sieci wirtualnej. | Zapewnia klientowi większą kontrolę nad ruchem, który może łączyć się z pamięcią podręczną. Upewnij się, że podsieć ma wystarczającą przestrzeń adresową, aby wdrożyć węzły pamięci podręcznej i fragmenty (klaster). |
Ocena strategii partycjonowania w pamięci podręcznej Redis Cache. | Partycjonowanie magazynu danych Redis obejmuje podzielenie danych między wystąpienia serwera Redis. Każde wystąpienie tworzy jedną partycję. Usługa Azure Redis Cache abstrahuje usługi Redis za fasadą i nie uwidacznia ich bezpośrednio. Najprostszym sposobem na wdrożenie partycjonowania jest utworzenie większej liczby wystąpień usługi Azure Redis Cache i podzielenie danych między te wystąpienia. Każdy element danych można skojarzyć z identyfikatorem (kluczem partycji), określającym, w której pamięci podręcznej zostanie zapisany ten element. Następnie logika aplikacji klienckiej może na podstawie tego identyfikatora kierować żądania do odpowiednich partycji. Ten schemat jest prosty, ale jeśli schemat partycjonowania ulegnie zmianie (na przykład w przypadku utworzenia dodatkowych wystąpień usługi Azure Redis Cache), może być konieczne ponowne skonfigurowanie aplikacji klienckich. |
Skonfiguruj trwałość danych , aby zapisać kopię pamięci podręcznej w usłudze Azure Storage lub użyć replikacji geograficznej w zależności od wymagań biznesowych. | Trwałość danych: jeśli główny i replika zostaną uruchomione ponownie, dane zostaną załadowane automatycznie z konta magazynu. Replikacja geograficzna: pomocnicza pamięć podręczna musi być odłączona od podstawowej pamięci podręcznej. Pomocnicza stanie się teraz podstawową i może odbierać zapisy. |
Zaimplementuj zasady ponawiania prób w kontekście usługi Azure Redis Cache. | Większość usług platformy Azure i zestawów SDK klienta zawiera mechanizm ponawiania prób. Te mechanizmy różnią się, ponieważ każda usługa ma różne cechy i wymagania. Każdy mechanizm ponawiania prób jest dostrojony do określonej usługi. |
Zapoznaj się z tematem Jak administrować Azure Cache for Redis. | Dowiedz się, jak może wystąpić utrata danych podczas ponownego uruchamiania pamięci podręcznej i jak przetestować aplikację pod kątem odporności. |
Artefakty źródłowe
Aby zidentyfikować wystąpienia usługi Redis, które nie są w warstwie Premium, użyj następującego zapytania:
Resources
| where type == 'microsoft.cache/redis'
| where properties.sku.name != 'Premium'