Udostępnij za pośrednictwem


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.

Aktywna replikacja geograficzna grupuje do pięciu wystąpień usługi Azure Managed Redis (wersja zapoznawcza) w ramach 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 obsługi żądań odczytu i zapisu.

Uwaga

Transfer danych między regionami świadczenia platformy Azure jest naliczany według standardowych stawek za przepustowość.

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

Jednostki SKU Balanced 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. W pozostałych warstwach obsługiwane są wszystkie zasady eksmisji.
  • Trwałość danych nie jest obsługiwana, ponieważ aktywna replikacja geograficzna zapewnia wyższy poziom obsługi.
  • Wszystkie pamięci podręczne w grupie replikacji geograficznej muszą mieć taką samą konfigurację. Na przykład wszystkie pamięci podręczne muszą mieć taką samą jednostkę SKU i pojemność oraz takie same zasady eksmisji, zasady klastrowania, moduły i ustawienie protokołu TLS.
  • Jeśli jedno wystąpienie w grupie replikacji geograficznej jest skalowane, inne wystąpienia w tej grupie muszą być skalowane do tego samego rozmiaru, zanim będzie możliwe dodatkowe skalowanie. Aby uzyskać więcej informacji, zapoznaj się z tematem Skalowanie wystąpień w grupie replikacji geograficznej.
  • Nie możesz używać poleceń Redis FLUSHALL i FLUSHDB podczas korzystania z aktywnej replikacji geograficznej. Brak możliwości stosowania tych poleceń zabezpiecza przed niezamierzonym usunięciem danych. Zamiast tego użyj operacji opróżniania.

Tworzenie lub dołączanie do grupy aktywnej replikacji geograficznej

  1. Podczas tworzenia nowego zasobu usługi Azure Managed Redis wybierz kartę Zaawansowane. Wypełnij pierwszą część formularza, z uwzględnieniem zasad klastrowania. Aby uzyskać więcej informacji na temat wybierania zasad klastrowania, zobacz Klastrowanie w usłudze Azure Managed Redis.

  2. Wybierz pozycję Konfiguruj, aby skonfigurować Aktywną replikację geograficzną.

    Zrzut ekranu przedstawiający zaawansowaną kartę tworzenia nowej pamięci podręcznej Redis Cache.

  3. Utwórz nową grupę replikacji dla pierwszego wystąpienia pamięci podręcznej. Możesz również wybrać istniejącą pozycję z listy.

    Zrzut ekranu przedstawiający grupy replikacji.

  4. Wybierz pozycję Skonfiguruj, aby zakończyć.

  5. 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.

    Zrzut ekranu przedstawiający skonfigurowaną aktywną replikację geograficzną.

Dodawanie istniejącego wystąpienia do grupy aktywnej 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 wymuszonego łą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 obecnie dostępna dla tej funkcji.

Usuwanie z grupy aktywnej replikacji geograficznej

Aby usunąć wystąpienie pamięci podręcznej z grupy aktywnej replikacji geograficznej, wystarczy usunąć wystąpienie. Pozostałe wystąpienia zostaną automatycznie skonfigurowane ponownie.

Aktywna replikacja geograficzna to zaawansowana funkcja umożliwiająca zwiększenie w znacznym stopniu dostępności podczas korzystania z usługi Azure Managed Redis. Należy jednak wykonać kroki w celu przygotowania pamięci podręcznej na sytuację awarii regionalnej.

Rozważ na przykład następujące porady:

  • Zidentyfikuj z wyprzedzeniem, do której pamięci podręcznej w grupie replikacji geograficznej należy się przełączyć, jeśli region ulegnie awarii.
  • Upewnij się, że zapory są ustawione tak, aby umożliwić wszystkim aplikacjom i klientom dostęp do zidentyfikowanej rezerwowej pamięci podręcznej.
  • 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 kierowania do rezerwowej pamięci podręcznej.
  • Jeśli pamięć podręczna w grupie replikacji geograficznej ulegnie awarii, nagromadzenie metadanych zacznie występować we wszystkich pamięciach podręcznych w grupie replikacji geograficznej. Metadanych nie można odrzucić, dopóki operacje zapisu nie zostaną ponownie zsynchronizowane ze wszystkimi pamięciami podręcznymi. Możesz zapobiec nagromadzeniu metadanych, wymuszając odłączenie pamięci podręcznej, która nie działa. Rozważ monitorowanie dostępnej pamięci w pamięci podręcznej i odłączenie jej, jeśli występuje wykorzystanie pamięci, szczególnie w przypadku obciążeń roboczych intensywnych pod względem operacji zapisu.

Można również użyć wzorca wyłącznika. Użyj tego wzorca, aby automatycznie przekierowywać ruch z pamięci podręcznej objętej awarią regionu do rezerwowej pamięci podręcznej w tej samej grupie replikacji geograficznej. Użyj usług platformy Azure, takich jak Azure Traffic Manager lub Azure Load Balancer , aby umożliwić 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 przekazane do niedostępnej pamięci podręcznej. W takim przypadku może zabraknąć pamięci w dostępnych pamięciach podręcznych należących do grupy replikacji.

  1. Przejdź do witryny Azure Portal i wybierz jedną z pamięci podręcznych w grupie replikacji, która jest nadal dostępna.

  2. Wybierz pozycję Aktywna replikacja geograficzna w menu Zasoby po lewej stronie, aby wyświetlić ustawienia w okienku roboczym.

    Zrzut ekranu przedstawiający grupę aktywnej replikacji geograficznej.

  3. Wybierz pamięć podręczną, której odłączenie chcesz wymusić, zaznaczając pole wyboru.

  4. Wybierz pozycję Wymuszone odłączanie, a następnie kliknij przycisk OK, aby potwierdzić.

    Zrzut ekranu przedstawiający odłączanie w aktywnej replikacji geograficznej.

  5. Po przywróceniu dostępności regionu, którego dotyczy problem, należy usunąć pamięć podręczną objętą problemem 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 Balanced B10 usługi Azure Managed Redis o nazwie Cache1 w regionie Wschodnie stany USA. Następnie pamięć podręczna zostanie dodana do nowej grupy aktywnej 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 prawidłowo skonfigurować aktywną replikację geograficzną, należy dodać identyfikator tworzonego wystąpienia pamięci podręcznej za pomocą parametru --linked-databases. Identyfikator ma następujący 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 Balanced B10 o nazwie Cache2 w regionie Zachodnie stany USA. Następnie pamięć podręczna jest dodawana za pomocą skryptu do grupy aktywnej replikacji geograficznej replicationGroup utworzonej w poprzedniej procedurze. W ten sposób zostaje ona połączona w konfiguracji aktywna-aktywna 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 w poprzednim przykładzie, należy uwzględnić na liście zarówno pamięć podręczną Cache1, jak i Cache2 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 Balanced B10 usługi Azure Managed Redis o nazwie Cache1 w regionie Wschodnie stany USA. Następnie pamięć podręczna zostanie dodana do nowej grupy aktywnej 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 prawidłowo skonfigurować aktywną replikację geograficzną, należy dodać identyfikator tworzonego wystąpienia pamięci podręcznej za pomocą parametru -LinkedDatabase. Identyfikator ma następujący 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 Balanced B10 o nazwie Cache2 w regionie Zachodnie stany USA. Następnie pamięć podręczna jest dodawana za pomocą skryptu do grupy aktywnej replikacji geograficznej, „replicationGroup”, utworzonej w poprzedniej procedurze. Rezultatem są dwie pamięci podręczne, Cache1 i Cache2, połączone w konfiguracji aktywna-aktywna.

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 w poprzednim przykładzie, należy uwzględnić na liście zarówno pamięć podręczną Cache1, jak i Cache2 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. Grupa replikacji geograficznej zawierająca pamięci podręczne o różnych rozmiarach może jednak powodować problemy. Aby zapobiec wystąpieniu tych problemów, wszystkie pamięci podręczne w grupie replikacji geograficznej muszą mieć taki sam rozmiar i taką samą 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 wyposażona jest w mechanizm blokady. W przypadku skalowania jednego wystąpienia w grupie replikacji geograficznej podstawowa maszyna wirtualna zostanie przeskalowana, ale dostępna pamięć zostanie ograniczona do pierwotnego rozmiaru, dopóki pozostałe wystąpienia nie zostaną również przeskalowane w górę. Wszystkie inne operacje skalowania dotyczące pozostałych wystąpień będą blokowane, dopóki nie będą zgodne z konfiguracją pamięci podręcznej przeskalowanej jako pierwsza.

Przykład skalowania

Na przykład grupa replikacji geograficznej może zawierać trzy wystąpienia, wszystkie zoptymalizowane pod kątem pamięci M10:

Nazwa wystąpienia Redis00 Redis01 Redis02
Typ Zoptymalizowana pod kątem pamięci M10 Zoptymalizowana pod kątem pamięci M10 Zoptymalizowana pod kątem pamięci M10

Załóżmy, że chcesz przeprowadzić skalowanie w górę każdego wystąpienia w tej grupie replikacji geograficznej do wystąpienia zoptymalizowanego pod kątem obliczeń X20. Najpierw przeprowadzasz skalowanie jednej z pamięci podręcznych do X20:

Nazwa wystąpienia Redis00 Redis01 Redis02
Typ Zoptymalizowana pod kątem obliczeń X20 Zoptymalizowana pod kątem pamięci M10 Zoptymalizowana pod kątem pamięci M10

W tym momencie wystąpienia Redis01 i Redis02 mogą być skalowane w górę tylko do wystąpienia zoptymalizowanego pod kątem obliczeń X20. Wszystkie inne operacje skalowania są zablokowane.

Uwaga

Wystąpienie Redis00 nie jest w tym momencie zablokowane i może być dalej skalowane. Zostanie jednak zablokowane, gdy tylko Redis01 lub Redis02 zostaną przeskalowane do zoptymalizowanych 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 Zoptymalizowana pod kątem obliczeń X20 Zoptymalizowana pod kątem obliczeń X20 Zoptymalizowana pod kątem obliczeń X20

Operacja opróżniania

Ze względu na możliwość niezamierzonej utraty danych nie można używać poleceń Redis FLUSHALL i FLUSHDB z żadnym wystąpieniem pamięci podręcznej znajdującej się w grupie replikacji geograficznej. Zamiast tego użyj przycisku Opróżnij pamięci podręczne znajdującego się w górnej części okienka roboczego Aktywna replikacja geograficzna.

Zrzut ekranu przedstawiający wybraną aktywną replikację geograficzną w menu Zasoby oraz funkcję Opróżnij pamięci podręczne otoczoną czerwoną ramką.

Opróżnianie pamięci podręcznych przy użyciu interfejsu wiersza polecenia platformy Azure lub programu PowerShell

Do uruchamiania operacji opróżniania można wykorzystać również interfejs wiersza polecenia platformy Azure i program PowerShell. 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óżnij pamięci podręczne. Użycie 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.

Możesz zarządzać dostępem do tej funkcji, używając kontroli dostępu opartej na rolach platformy Azure. Tylko autoryzowani użytkownicy powinni mieć dostęp do funkcji opróżniania wszystkich pamięci podręcznych.

Następne kroki