Konfigurowanie aktywnej replikacji geograficznej dla wystąpień usługi Azure Managed Redis (wersja zapoznawcza)
Z tego artykułu dowiesz się, jak skonfigurować aktywną pamięć podręczną z replikacją geograficzną przy użyciu witryny Azure Portal.
Aktywne grupy replikacji geograficznej do pięciu wystąpień usługi Azure Managed Redis (wersja zapoznawcza) w jednej pamięci podręcznej obejmującej regiony świadczenia usługi Azure. Wszystkie wystąpienia działają jako lokalne, podstawowe pamięci podręczne. Aplikacja decyduje, które wystąpienie lub wystąpienia mają być używane na potrzeby żądań odczytu i zapisu.
Uwaga
Transfer danych między regionami platformy Azure jest naliczany według standardowych stawek przepustowości.
Jak działa aktywna replikacja geograficzna
Aktywna replikacja geograficzna używa zreplikowanych typów danych bez konfliktów (CRDT), aby bezproblemowo dystrybuować dane między wystąpieniami usługi Redis, które mogą być dystrybuowane na różnych kontynentach. Te wystąpienia są połączone w konfiguracji aktywne-aktywne, gdzie zapisy w jednym wystąpieniu są automatycznie odzwierciedlane w innych wystąpieniach w tej samej grupie replikacji geograficznej. Ta dwukierunkowa replikacja danych różni się od jednokierunkowych metod replikacji aktywne-pasywnej, gdzie dane są replikowane z podstawowej do repliki geograficznej, ale nie w innym kierunku. Jest to zaawansowane narzędzie, które jest często używane na kilka sposobów:
- Zapewnienie opóźnienia lokalnego przez dystrybucję buforowania bliżej użytkowników. Korzystając z sieci aktywnych wystąpień redis replikowanych geograficznie, można umieścić pamięci podręczne geograficznie bliżej użytkowników w każdym regionie, zmniejszając opóźnienia i zwiększając wydajność aplikacji.
- Synchronizowanie aplikacji globalnych. Ponieważ pamięci podręczne replikowane geograficznie wyglądają jak pojedyncze wystąpienie usługi Redis, można globalnie dystrybuować dane bez konieczności segmentowania danych według regionów. Na przykład można użyć pojedynczego zestawu posortowanego redis , aby zapewnić ranking gier dla wszystkich użytkowników na całym świecie, zamiast udostępniać oddzielny ranking dla każdego regionu geograficznego.
- Zmniejszenie przestojów i ryzyko wystąpienia awarii regionalnych. Ponieważ każde wystąpienie usługi Redis w grupie replikacji geograficznej jest stale aktualizowane przy użyciu najnowszych danych z innych wystąpień w grupie, dane są dobrze zachowywane w przypadku awarii regionalnej. Aplikacje mogą tymczasowo przełączyć się na użycie jednego z innych wystąpień w grupie, a gdy region wróci do trybu online, wystąpienie usługi Redis zostanie automatycznie ponownie załadowane z danymi z innych pamięci podręcznych replikowanych geograficznie.
Aby uzyskać bardziej szczegółowy podział działania aktywnej replikacji geograficznej, zobacz Active-Active-Geo-Distribution (CRDTS-based)
Zakres dostępności
Warstwa | Zoptymalizowane pod kątem pamięci, zrównoważone, zoptymalizowane pod kątem obliczeń | Zoptymalizowane pod kątem flash |
---|---|---|
Dostępny | Tak (z wyjątkiem B0 i B1) | Tak |
Ważne
Zrównoważone jednostki SKU B0 i B1 nie obsługują aktywnej replikacji geograficznej.
Wymagania wstępne aktywnej replikacji geograficznej
W przypadku korzystania z aktywnej replikacji geograficznej istnieje kilka ograniczeń:
- Aktywna replikacja geograficzna jest obsługiwana tylko wtedy, gdy usługa Azure Managed Redis jest w konfiguracji wysokiej dostępności (tj. używa replikacji).
- Obsługiwane są tylko moduły RediSearch i RedisJSON
- W warstwie Zoptymalizowane pod kątem flash można używać tylko zasad eksmisji Bez eksmisji. Wszystkie zasady eksmisji są obsługiwane w innych warstwach.
- Trwałość danych nie jest obsługiwana, ponieważ aktywna replikacja geograficzna zapewnia doskonałe środowisko.
- Wszystkie pamięci podręczne w grupie replikacji geograficznej muszą mieć taką samą konfigurację. Na przykład wszystkie pamięci podręczne muszą mieć tę samą jednostkę SKU, pojemność, zasady eksmisji, zasady klastrowania, moduły i ustawienie protokołu TLS.
- Jeśli jedno wystąpienie w grupie repozytorium geograficznego jest skalowane, inne wystąpienia w tej grupie muszą zostać przeskalowane do tego samego rozmiaru przed wystąpieniem dodatkowego skalowania. Aby uzyskać więcej informacji, zobacz Skalowanie wystąpień w grupie replikacji geograficznej.
- Nie można używać
FLUSHALL
poleceń iFLUSHDB
Redis podczas korzystania z aktywnej replikacji geograficznej. Uniemożliwianie poleceń uniemożliwia niezamierzone usunięcie danych. Zamiast tego użyj operacji opróżniania.
Tworzenie lub dołączanie aktywnej grupy replikacji geograficznej
Podczas tworzenia nowego zasobu usługi Azure Managed Redis wybierz kartę Zaawansowane . Ukończ pierwszą część formularza, w tym zasady klastrowania. Aby uzyskać więcej informacji na temat wybierania zasad klastrowania, zobacz Clustering in Azure Managed Redis (Klastrowanie w usłudze Azure Managed Redis).
Wybierz pozycję Konfiguruj, aby skonfigurować aktywną replikację geograficzną.
Utwórz nową grupę replikacji dla pierwszego wystąpienia pamięci podręcznej. Możesz też wybrać istniejącą z listy.
Wybierz pozycję Konfiguruj , aby zakończyć.
Poczekaj na pomyślne utworzenie pierwszej pamięci podręcznej. Po zakończeniu zostanie wyświetlony komunikat Skonfigurowano dla aktywnej replikacji geograficznej. Powtórz powyższe kroki dla każdego wystąpienia pamięci podręcznej w grupie replikacji geograficznej.
Dodawanie istniejącego wystąpienia do aktywnej grupy replikacji geograficznej
Aby dodać istniejące wystąpienie pamięci podręcznej do aktywnej grupy replikacji geograficznej, możesz użyć interfejsu API REST do wykonania akcji wymuszania połączenia.
Wszystkie dane w połączonym wystąpieniu pamięci podręcznej zostaną odrzucone. Wystąpienie będzie również tymczasowo niedostępne przez kilka minut podczas dołączania do grupy replikacji geograficznej. Obsługa portalu i interfejsu wiersza polecenia nie jest jeszcze dostępna dla tej funkcji.
Usuwanie z aktywnej grupy replikacji geograficznej
Aby usunąć wystąpienie pamięci podręcznej z aktywnej grupy replikacji geograficznej, wystarczy usunąć wystąpienie. Pozostałe wystąpienia zostaną automatycznie ponownie skonfigurowane.
Wymuś odłączanie w przypadku awarii regionu
Aktywna replikacja geograficzna to zaawansowana funkcja umożliwiająca znaczne zwiększenie dostępności podczas korzystania z usługi Azure Managed Redis. Należy jednak wykonać kroki, aby przygotować pamięci podręczne w przypadku awarii regionalnej.
Rozważmy na przykład następujące porady:
- Zidentyfikuj z wyprzedzeniem, do której innej pamięci podręcznej w grupie replikacji geograficznej przełączy się na region, jeśli region ulegnie awarii.
- Upewnij się, że zapory są ustawione tak, aby wszystkie aplikacje i klienci mogli uzyskać dostęp do zidentyfikowanej pamięci podręcznej kopii zapasowych.
- Każda pamięć podręczna w grupie replikacji geograficznej ma własny klucz dostępu. Określ sposób przełączania aplikacji na różne klucze dostępu podczas określania wartości docelowej pamięci podręcznej kopii zapasowej.
- Jeśli pamięć podręczna w grupie replikacji geograficznej ulegnie awarii, kompilacja metadanych zacznie występować we wszystkich pamięciach podręcznych w grupie replikacji geograficznej. Metadanych nie można odrzucić, dopóki zapisy nie zostaną ponownie zsynchronizowane ze wszystkimi pamięciami podręcznymi. Możesz zapobiec kompilacji metadanych, wymuszając odłączanie pamięci podręcznej, która nie działa. Rozważ monitorowanie dostępnej pamięci w pamięci podręcznej i odłączanie go, jeśli istnieje wykorzystanie pamięci, szczególnie w przypadku obciążeń z dużym obciążeniem zapisu.
Można również użyć wzorca wyłącznika. Użyj wzorca, aby automatycznie przekierowywać ruch z pamięci podręcznej, w której występuje awaria regionu, oraz do pamięci podręcznej kopii zapasowej w tej samej grupie replikacji geograficznej. Użyj usług platformy Azure, takich jak Azure Traffic Manager lub Azure Load Balancer , aby włączyć przekierowywanie.
Jeśli jedna z pamięci podręcznych w grupie replikacji jest niedostępna z powodu awarii regionu, możesz wymusić usunięcie niedostępnej pamięci podręcznej z grupy replikacji.
Należy usunąć niedostępną pamięć podręczną, ponieważ pozostałe pamięci podręczne w grupie replikacji zaczynają przechowywać metadane, które nie zostały udostępnione niedostępnej pamięci podręcznej. W takim przypadku dostępne pamięci podręczne w grupie replikacji mogą zabraknąć pamięci.
Przejdź do witryny Azure Portal i wybierz jedną z pamięci podręcznych w grupie replikacji, która jest nadal dostępna.
Wybierz pozycję Aktywna replikacja geograficzna w menu Zasób po lewej stronie, aby wyświetlić ustawienia w okienku roboczym.
Zaznacz pamięć podręczną, którą chcesz wymusić odłączenie, zaznaczając pole wyboru.
Wybierz pozycję Wymuś odłącz, a następnie przycisk OK , aby potwierdzić.
Po przywróceniu dostępności regionu, którego dotyczy problem, należy usunąć pamięć podręczną, której dotyczy problem, i utworzyć ją ponownie, aby dodać ją z powrotem do grupy replikacji.
Konfigurowanie aktywnej replikacji geograficznej przy użyciu interfejsu wiersza polecenia platformy Azure lub programu PowerShell
Interfejs wiersza polecenia platformy Azure
Użyj interfejsu wiersza polecenia platformy Azure, aby utworzyć nową pamięć podręczną i grupę replikacji geograficznej lub dodać nową pamięć podręczną do istniejącej grupy replikacji geograficznej. Aby uzyskać więcej informacji, zobacz az redisenterprise create.
Tworzenie nowego wystąpienia usługi Azure Managed Redis w nowej grupie replikacji geograficznej przy użyciu interfejsu wiersza polecenia platformy Azure
W tym przykładzie zostanie utworzone nowe wystąpienie usługi Azure Managed Redis Balanced B10 o nazwie Cache1 w regionie Wschodnie stany USA. Następnie pamięć podręczna zostanie dodana do nowej aktywnej grupy replikacji geograficznej o nazwie replicationGroup:
az redisenterprise create --location "East US" --cluster-name "Cache1" --sku "Balanced_B10" --resource-group "myResourceGroup" --group-nickname "replicationGroup" --linked-databases id="/subscriptions/34b6ecbd-ab5c-4768-b0b8-bf587aba80f6/resourceGroups/myResourceGroup/providers/Microsoft.Cache/redisEnterprise/Cache1/databases/default"
Aby poprawnie skonfigurować aktywną replikację geograficzną, należy dodać identyfikator tworzonego wystąpienia pamięci podręcznej za pomocą parametru --linked-databases
. Identyfikator ma format:
/subscriptions/<your-subscription-ID>/resourceGroups/<your-resource-group-name>/providers/Microsoft.Cache/redisEnterprise/<your-cache-name>/databases/default
Tworzenie nowego wystąpienia usługi Azure Managed Redis w istniejącej grupie replikacji geograficznej przy użyciu interfejsu wiersza polecenia platformy Azure
W tym przykładzie zostanie utworzone nowe wystąpienie pamięci podręcznej O zrównoważonym równoważeniu B10 o nazwie Cache2 w regionie Zachodnie stany USA. Następnie skrypt dodaje pamięć podręczną do aktywnej replicationGroup
grupy replikacji geograficznej utworzonej w poprzedniej procedurze. W ten sposób jest połączony w konfiguracji aktywne-aktywne z pamięcią podręczną Cache1.
az redisenterprise create --location "West US" --cluster-name "Cache2" --sku "Balanced_B10" --resource-group "myResourceGroup" --group-nickname "replicationGroup" --linked-databases id="/subscriptions/34b6ecbd-ab5c-4768-b0b8-bf587aba80f6/resourceGroups/myResourceGroup/providers/Microsoft.Cache/redisEnterprise/Cache1/databases/default" --linked-databases id="/subscriptions/34b6ecbd-ab5c-4768-b0b8-bf587aba80f6/resourceGroups/myResourceGroup/providers/Microsoft.Cache/redisEnterprise/Cache2/databases/default"
Tak jak poprzednio, należy wyświetlić zarówno pamięć podręczną Cache1 , jak i pamięć podręczną2 przy użyciu parametru --linked-databases
.
Azure PowerShell
Użyj programu Azure PowerShell, aby utworzyć nową pamięć podręczną i grupę replikacji geograficznej lub dodać nową pamięć podręczną do istniejącej grupy replikacji geograficznej. Aby uzyskać więcej informacji, zobacz New-AzRedisEnterpriseCache.
Tworzenie nowego wystąpienia usługi Azure Managed Redis w nowej grupie replikacji geograficznej przy użyciu programu PowerShell
W tym przykładzie zostanie utworzone nowe wystąpienie pamięci podręcznej Azure Managed Redis Balanced B10 o nazwie Cache1 w regionie Wschodnie stany USA. Następnie pamięć podręczna zostanie dodana do nowej aktywnej grupy replikacji geograficznej o nazwie replicationGroup:
New-AzRedisEnterpriseCache -Name "Cache1" -ResourceGroupName "myResourceGroup" -Location "East US" -Sku "Balanced_B10" -GroupNickname "replicationGroup" -LinkedDatabase '{id:"/subscriptions/34b6ecbd-ab5c-4768-b0b8-bf587aba80f6/resourceGroups/myResourceGroup/providers/Microsoft.Cache/redisEnterprise/Cache1/databases/default"}'
Aby poprawnie skonfigurować aktywną replikację geograficzną, należy dodać identyfikator tworzonego wystąpienia pamięci podręcznej za pomocą parametru -LinkedDatabase
. Identyfikator ma format:
/subscriptions/<your-subscription-ID>/resourceGroups/<your-resource-group-name>/providers/Microsoft.Cache/redisEnterprise/<your-cache-name>/databases/default
Tworzenie nowego wystąpienia usługi Azure Managed Redis w istniejącej grupie replikacji geograficznej przy użyciu programu PowerShell
W tym przykładzie zostanie utworzone nowe wystąpienie pamięci podręcznej O zrównoważonym równoważeniu B10 o nazwie Cache2 w regionie Zachodnie stany USA. Następnie skrypt dodaje pamięć podręczną do aktywnej grupy replikacji geograficznej", "replicationGroup", utworzonej w poprzedniej procedurze. Wynikiem są dwie pamięci podręczne, Cache1 i Cache2, połączone w konfiguracji aktywne-aktywne.
New-AzRedisEnterpriseCache -Name "Cache2" -ResourceGroupName "myResourceGroup" -Location "West US" -Sku "Balanced_B10" -GroupNickname "replicationGroup" -LinkedDatabase '{id:"/subscriptions/34b6ecbd-ab5c-4768-b0b8-bf587aba80f6/resourceGroups/myResourceGroup/providers/Microsoft.Cache/redisEnterprise/Cache1/databases/default"}', '{id:"/subscriptions/34b6ecbd-ab5c-4768-b0b8-bf587aba80f6/resourceGroups/myResourceGroup/providers/Microsoft.Cache/redisEnterprise/Cache2/databases/default"}'
Tak jak poprzednio, należy wyświetlić zarówno pamięć podręczną Cache1 , jak i pamięć podręczną2 przy użyciu parametru -LinkedDatabase
.
Skalowanie wystąpień w grupie replikacji geograficznej
Istnieje możliwość skalowania wystąpień skonfigurowanych do korzystania z aktywnej replikacji geograficznej. Jednak grupa replikacji geograficznej o różnych rozmiarach pamięci podręcznej może powodować problemy. Aby zapobiec wystąpieniu tych problemów, wszystkie pamięci podręczne w grupie replikacji geograficznej muszą mieć taki sam rozmiar i warstwę wydajności.
Ponieważ skalowanie wymaga zmiany rozmiaru lub warstwy i trudno jest jednocześnie skalować wszystkie wystąpienia w grupie replikacji geograficznej, usługa Azure Managed Redis ma mechanizm blokowania. W przypadku skalowania jednego wystąpienia w grupie replikacji geograficznej podstawowa maszyna wirtualna zostanie przeskalowana, ale dostępna pamięć zostanie ograniczona do oryginalnego rozmiaru, dopóki inne wystąpienia nie zostaną również skalowane w górę. Wszystkie inne operacje skalowania dla pozostałych wystąpień są blokowane, dopóki nie będą zgodne z tą samą konfiguracją co pierwsza pamięć podręczna do skalowania.
Przykład skalowania
Na przykład w grupie replikacji geograficznej mogą istnieć trzy wystąpienia, wszystkie wystąpienia zoptymalizowane pod kątem pamięci M10:
Nazwa wystąpienia | Redis00 | Redis01 | Redis02 |
---|---|---|---|
Typ | Zoptymalizowane pod kątem pamięci M10 | Zoptymalizowane pod kątem pamięci M10 | Zoptymalizowane pod kątem pamięci M10 |
Załóżmy, że chcesz skalować w górę każde wystąpienie w tej grupie replikacji geograficznej do wystąpienia zoptymalizowanego pod kątem obliczeń X20. Najpierw przeskalujesz jedną z pamięci podręcznych do X20:
Nazwa wystąpienia | Redis00 | Redis01 | Redis02 |
---|---|---|---|
Typ | Zoptymalizowane pod kątem obliczeń X20 | Zoptymalizowane pod kątem pamięci M10 | Zoptymalizowane pod kątem pamięci M10 |
W tym momencie Redis01
wystąpienia i Redis02
mogą skalować w górę tylko wystąpienie X20 zoptymalizowane pod kątem obliczeń. Wszystkie inne operacje skalowania są blokowane.
Uwaga
W Redis00
tym momencie nie można dalej skalować wystąpienia. Jednak zostanie on zablokowany raz Redis01
lub Redis02
zostanie przeskalowany do zoptymalizowanego pod kątem obliczeń X20.
Po przeskalowaniu każdego wystąpienia do tej samej warstwy i rozmiaru wszystkie blokady skalowania zostaną usunięte:
Nazwa wystąpienia | Redis00 | Redis01 | Redis02 |
---|---|---|---|
Typ | Zoptymalizowane pod kątem obliczeń X20 | Zoptymalizowane pod kątem obliczeń X20 | Zoptymalizowane pod kątem obliczeń X20 |
Operacja opróżniania
Ze względu na możliwość niezamierzonej utraty danych nie można używać FLUSHALL
poleceń i FLUSHDB
Redis z żadnym wystąpieniem pamięci podręcznej znajdującej się w grupie replikacji geograficznej. Zamiast tego użyj przycisku Opróżnij pamięć podręczną znajdującego się w górnej części okienka roboczego Aktywne replikacji geograficznej.
Opróżnianie pamięci podręcznych przy użyciu interfejsu wiersza polecenia platformy Azure lub programu PowerShell
Interfejs wiersza polecenia platformy Azure i program PowerShell mogą być również używane do wyzwalania operacji opróżniania. Aby uzyskać więcej informacji na temat korzystania z interfejsu wiersza polecenia platformy Azure, zobacz az redisenterprise database flush. Aby uzyskać więcej informacji na temat korzystania z programu PowerShell, zobacz Invoke-AzRedisEnterpriseCacheDatabaseFlush.
Ważne
Należy zachować ostrożność podczas korzystania z funkcji Opróżnianie pamięci podręcznych . Wybranie przycisku spowoduje usunięcie wszystkich danych z bieżącej pamięci podręcznej i wszystkich połączonych pamięci podręcznych w grupie replikacji geograficznej.
Zarządzanie dostępem do funkcji przy użyciu kontroli dostępu opartej na rolach na platformie Azure. Tylko autoryzowani użytkownicy powinni mieć dostęp do opróżniania wszystkich pamięci podręcznych.