Sdílet prostřednictvím


Konfigurace aktivní geografické replikace pro instance Azure Managed Redis (Preview)

V tomto článku se dozvíte, jak nakonfigurovat aktivní geograficky replikovanou mezipaměť pomocí webu Azure Portal.

Aktivní skupiny geografické replikace až do pěti instancí Azure Managed Redis (Preview) do jedné mezipaměti, která je umístěna napříč oblastmi Azure. Všechny instance fungují jako místní primární mezipaměti. O tom, kterou instanci nebo instance použít pro žádosti o čtení a zápis, rozhoduje aplikace.

Poznámka:

Přenos dat mezi oblastmi Azure se účtuje podle standardních sazeb za šířku pásma.

Jak funguje aktivní geografická replikace

Aktivní geografická replikace využívá replikované datové typy bez konfliktů (CRDT) k bezproblémové distribuci dat napříč instancemi Redis, které je možné distribuovat napříč kontinenty. Tyto instance jsou připojené v konfiguraci aktivní-aktivní, kde se zápisy do jedné instance automaticky projeví v ostatních instancích ve stejné skupině geografické replikace. Tato obousměrná replikace dat se liší od jednosměrných přístupů replikace aktivní-pasivní, kde se data replikují z primární na geografickou repliku, ale ne jiný směr. Jedná se o výkonný nástroj, který se běžně používá několika způsoby:

  • Poskytnutí místní latence distribucí ukládání do mezipaměti blíže uživatelům. Pomocí sítě aktivních geograficky replikovaných instancí Redis můžete umístit mezipaměti geograficky blíže uživatelům v každé oblasti, snížit latenci a zlepšit výkon aplikace.

  • Synchronizace globálních aplikací Vzhledem k tomu, že geograficky replikované mezipaměti se zobrazují jako jedna instance Redis, můžete data globálně distribuovat bez nutnosti segmentovat data podle oblastí. Můžete například použít jednu sadu seřazenou pro Redis , která poskytuje tabulku výsledků her pro všechny uživatele po celém světě, místo abyste pro každou zeměpisnou oblast poskytli samostatnou tabulku výsledků.

  • Snížení výpadků a rizik z oblastních výpadků. Vzhledem k tomu, že každá instance Redis ve skupině geografické replikace se neustále aktualizuje o nejnovější data z ostatních instancí ve skupině, data se během regionálního výpadku dobře zachovají. Aplikace můžou dočasně přepnout na použití jedné z ostatních instancí ve skupině a když se oblast vrátí do režimu online, instance Redis se automaticky znovu načte s daty z ostatních geograficky replikovaných mezipamětí.

Podrobnější rozpis toho, jak aktivní geografická replikace funguje, najdete v tématu Aktivní-Aktivní geografická distribuce (založená na CRDTS).

Rozsah dostupnosti

Úroveň Optimalizováno pro paměť, vyvážení, optimalizované výpočty Optimalizováno pro flash
dostupný Ano (s výjimkou B0 a B1) Ano

Důležité

Vyvážené skladové položky B0 a B1 nepodporují aktivní geografickou replikaci.

Požadavky na aktivní geografickou replikaci

Při použití aktivní geografické replikace existuje několik omezení:

  • Aktivní geografická replikace se podporuje jenom v případě, že je Azure Managed Redis v konfiguraci s vysokou dostupností, tj. používá replikaci.

  • Jsou podporovány pouze moduly RediSearch a RedisJSON.

  • Na úrovni Flash Optimized je možné použít pouze zásady vyřazování Bez vyřazování. Ostatní úrovně podporují všechny zásady vyřazování.

  • Trvalost dat není podporovaná, protože aktivní geografická replikace poskytuje vynikající prostředí.

  • Všechny mezipaměti v rámci skupiny geografické replikace musí mít stejnou konfiguraci. Například všechny mezipaměti musí mít stejnou skladovou položku, kapacitu, zásady vyřazování, zásady clusteringu, moduly a nastavení protokolu TLS.

  • Pokud je jedna instance ve skupině geografické replikace škálovaná, musí se ostatní instance v této skupině škálovat na stejnou velikost, než může dojít k jinému škálování. Další informace najdete v tématu Škálování instancí ve skupině geografické replikace.

  • Při aktivní geografické replikaci nemůžete používat příkazy Redis FLUSHALL a FLUSHDB. Zakázání těchto příkazů brání neúmyslnému odstranění dat. Místo toho použijte operaci vyprázdnění.

Vytvoření skupiny aktivní goegrafické replikace nebo připojení k aktivní skupině

  1. Při vytváření nového prostředku Azure Managed Redis vyberte kartu Upřesnit. Vyplňte první část formuláře včetně zásad clusteringu. Další informace o výběru zásad clusteringu najdete v tématu Clustering ve službě Azure Managed Redis.

  2. Možností Konfigurovat nastavíte aktivní geografickou replikaci.

    Snímek obrazovky s kartou Upřesnit vytvoření nové stránky mezipaměti Redis

  3. Vytvořte novou skupinu replikace pro první instanci mezipaměti. Nebo vyberte existující skupinu ze seznamu.

    Snímek obrazovky znázorňující skupiny replikace

  4. Tlačítkem Konfigurovat ukončete akci.

  5. Počkejte na úspěšné vytvoření první mezipaměti. Po dokončení uvidíte sadu Nakonfigurováno pro aktivní geografickou replikaci. Opakujte výše uvedené kroky pro každou instanci mezipaměti ve skupině geografické replikace.

    Snímek obrazovky znázorňující konfiguraci aktivní geografické replikace

Přidání existující instance do aktivní skupiny geografické replikace

Pokud chcete přidat existující instanci mezipaměti do aktivní skupiny geografické replikace, můžete pomocí rozhraní REST API provést akci vynuceného propojení.

Všechna data v instanci mezipaměti, která je propojená, se zahodí. Během připojování ke skupině geografické replikace je instance také dočasně nedostupná po dobu několika minut. Pro tuto funkci zatím není dostupná podpora portálu a rozhraní příkazového řádku.

Odebrání z aktivní skupiny geografické replikace

Pokud chcete odebrat instanci mezipaměti z aktivní skupiny geografické replikace, stačí instanci odstranit. Zbývající instance se pak automaticky překonfigurují.

Aktivní geografická replikace je výkonná funkce, která výrazně zvyšuje dostupnost při práci se službou Azure Managed Redis. Měli byste však podniknout kroky, které mezipaměti připraví na situaci výpadku oblasti.

Podívejte se například na tyto tipy:

  • Určete předem, na kterou jinou mezipaměť ve skupině geografické replikace má služba přepnout, pokud oblast přestane fungovat.

  • Ujistěte se, že jsou brány firewall nastavené tak, aby všechny aplikace a klienti měli přístup k uvedené záložní mezipaměti.

  • Každá mezipaměť ve skupině geografické replikace má vlastní přístupový klíč. Určete, jak se aplikace při cílení na záložní mezipaměť přepne na jiné přístupové klíče.

  • Pokud dojde k výpadku mezipaměti ve skupině geografické replikace, začne ve všech mezipamětích ve skupině geografické replikace probíhat sestavení metadat. Metadata nelze zahodit, dokud nelze zápisy znovu synchronizovat do všech mezipamětí. Vytváření metadat můžete zabránit vynucením zrušení propojení mezipaměti, která je mimo provoz. Zvažte monitorování dostupné paměti v mezipaměti a zrušení propojení, když dochází k přetížení paměti, zejména u úloh náročných na zápis.

Je také možné použít model jističe. Pomocí vzoru můžete automaticky přesměrovat provoz mimo mezipaměť, u které dochází k výpadku oblasti, a do záložní mezipaměti ve stejné skupině geografické replikace. K povolení přesměrování použijte služby Azure, jako je Azure Traffic Manager nebo Azure Load Balancer.

V případě, že jedna z mezipamětí ve vaší skupině replikace není dostupná kvůli výpadku oblasti, můžete vynutit odebrání nedostupné mezipaměti ze skupiny replikace.

Nedostupnou mezipaměť byste měli odebrat, protože zbývající mezipaměti ve skupině replikace začnou ukládat metadata, která nebyla sdílena do nedostupné mezipaměti. Pokud k tomu dojde, může dojít k vyčerpání paměti dostupných mezipamětí ve skupině replikace.

  1. Přejděte na Web Azure Portal a vyberte jednu z mezipamětí ve skupině replikace, která je stále dostupná.

  2. Výběrem možnosti Aktivní geografická replikace v nabídce Prostředek na levé straně zobrazíte v pracovním podokně její nastavení.

    Snímek obrazovky s aktivní skupinou geografické replikace

  3. Zaškrtnutím políčka vyberte mezipaměť, pro kterou potřebujete nuceně zrušit propojení.

  4. Zvolte možnost Vynutit odpojení a potvrďte tlačítkem OK.

    Snímek obrazovky s zrušením propojení v aktivní geografické replikaci

  5. Po obnovení dostupnosti ovlivněné oblasti je potřeba odstranit příslušnou mezipaměť, znovu ji vytvořit a přidat ji zpět do skupiny replikace.

Nastavení aktivní geografické replikace přes rozhraní Azure CLI nebo PowerShell

Azure CLI

V rozhraní Azure CLI vytvořte novou mezipaměť a skupinu geografické replikace nebo přidejte novou mezipaměť do existující skupiny geografické replikace. Další informace najdete u příkazu az redisenterprise create.

Vytvoření nové instance Azure Managed Redis v nové skupině geografické replikace pomocí Azure CLI

Tento příklad vytvoří novou instanci Azure Managed Redis Balanced B10 s názvem Cache1 v oblasti USA – východ. Pak se mezipaměť přidá do nové aktivní skupiny geografické replikace s názvem 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 bylo možné správně nakonfigurovat aktivní geografickou replikaci, musíte přidat ID vytvářené instance mezipaměti s parametrem --linked-databases. Identifikátor je ve formátu:

/subscriptions/<your-subscription-ID>/resourceGroups/<your-resource-group-name>/providers/Microsoft.Cache/redisEnterprise/<your-cache-name>/databases/default

Vytvoření nové instance Azure Managed Redis ve stávající skupině geografické replikace pomocí Azure CLI

Tento příklad vytvoří novou instanci mezipaměti B10 s názvem Cache2 v oblasti USA – západ. Skript pak přidá mezipaměť do skupiny aktivní geografické replikace replicationGroup, která byla vytvořena v předchozím postupu. Tímto způsobem je propojená v konfiguraci aktivní-aktivní s 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"

Stejně jako předtím musíte pomocí parametru --linked-databases uvést mezipaměť Cache1 i Cache2.

Azure PowerShell

V rozhraní Azure PowerShell vytvořte novou mezipaměť a skupinu geografické replikace nebo přidejte novou mezipaměť do existující skupiny geografické replikace. Další informace najdete v tématu New-AzRedisEnterpriseCache.

Vytvoření nové instance Azure Managed Redis v nové skupině geografické replikace pomocí rozhraní PowerShell

Tento příklad vytvoří novou instanci mezipaměti Azure Managed Redis Balanced B10 s názvem Cache1 v oblasti USA – východ. Pak se mezipaměť přidá do nové aktivní skupiny geografické replikace s názvem 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 bylo možné správně nakonfigurovat aktivní geografickou replikaci, musíte přidat ID vytvářené instance mezipaměti s parametrem -LinkedDatabase. Identifikátor je ve formátu:

/subscriptions/<your-subscription-ID>/resourceGroups/<your-resource-group-name>/providers/Microsoft.Cache/redisEnterprise/<your-cache-name>/databases/default

Vytvoření nové instance Azure Managed Redis ve stávající skupině geografické replikace pomocí rozhraní PowerShell

Tento příklad vytvoří novou instanci mezipaměti B10 s názvem Cache2 v oblasti USA – západ. Pak skript přidá mezipaměť do aktivní skupiny geografické replikace, replicationGroup vytvořená v předchozím postupu. Výsledkem jsou dvě mezipaměti Cache1 a Cache2, které jsou propojeny v konfiguraci aktivní-aktivní.

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"}'

Stejně jako předtím musíte pomocí parametru -LinkedDatabase uvést mezipaměť Cache1 i Cache2.

Škálování instancí ve skupině geografické replikace

Je možné škálovat instance nakonfigurované tak, aby používaly aktivní geografickou replikaci. Skupina geografické replikace s kombinací různých velikostí mezipaměti ale může představovat problémy. Aby k těmto problémům nedocházelo, musí mít všechny mezipaměti ve skupině geografické replikace stejnou velikost a úroveň výkonu.

Vzhledem k tomu, že škálování vyžaduje změnu velikosti nebo úrovně a je obtížné současně škálovat všechny instance ve skupině geografické replikace, má Azure Managed Redis mechanismus uzamčení. Pokud škálujete jednu instanci ve skupině geografické replikace, základní virtuální počítač se škáluje, ale dostupná paměť je omezena na původní velikost, dokud se neupupnou i ostatní instance. A všechny další operace škálování pro zbývající instance budou uzamknuty, dokud se nebudou shodovat se stejnou konfigurací jako první mezipaměť, která byla škálována.

Příklad škálování

Ve skupině geografické replikace můžete mít například tři instance, všechny instance M10 optimalizované pro paměť:

Název instance Redis00 Redis01 Redis02
Typ Optimalizované pro paměť – M10 Optimalizované pro paměť – M10 Optimalizované pro paměť – M10

Řekněme, že chcete vertikálně navýšit kapacitu jednotlivých instancí v této skupině geografické replikace na instanci X20 optimalizovanou pro výpočty. Nejprve byste škálovali jednu z mezipamětí na úroveň X20:

Název instance Redis00 Redis01 Redis02
Typ Optimalizované pro výpočty – X20 Optimalizované pro paměť – M10 Optimalizované pro paměť – M10

V tomto okamžiku mohou instance Redis01 a Redis02 pouze škálovat nahoru na úroveň X20 – optimalizované pro výpočty. Všechny ostatní operace škálování jsou zablokované.

Poznámka:

V Redis00 tuto chvíli není instance blokovaná škálováním. Ale je blokovaný buď po Redis01 škálování na výpočetní optimalizovaný X20, nebo Redis02 se škáluje.

Jakmile se každá instance škáluje na stejnou úroveň a velikost, odeberou se všechny zámky škálování:

Název instance Redis00 Redis01 Redis02
Typ Optimalizované pro výpočty – X20 Optimalizované pro výpočty – X20 Optimalizované pro výpočty – X20

Operace vyprázdnění

Kvůli možné neúmyslné ztrátě dat nemůžete s jakoukoli instancí mezipaměti umístěnou ve skupině geografické replikace použít příkazy FLUSHALL a FLUSHDB úložiště Redis. Místo toho použijte tlačítko vyprázdnění mezipamětí umístěné v horní části pracovního podokna Aktivní geografická replikace.

Snímek obrazovky znázorňující aktivní geografickou replikaci vybranou v nabídce Prostředek a funkce Vyprázdnění mezipaměti je kolem ní červené pole.

Metrika geografické replikace

Metrika Geografické replikace v dobrém stavu spravovaného Redis v Azure pomáhá monitorovat stav geograficky replikovaných clusterů. Pomocí této metriky můžete monitorovat stav synchronizace mezi geografickou replikou.

Monitorování metriky geografické replikace v pořádku na webu Azure Portal:

  1. Otevřete Azure Portal a vyberte instanci Azure Managed Redis.

  2. V nabídce Prostředek vyberte Metriky v části Monitorování .

  3. Vyberte Přidat metriku a vyberte metriku Geografické replikace, která je v pořádku .

  4. V případě potřeby použijte filtry pro konkrétní geografické repliky.

  5. Výstrahu můžete nakonfigurovat tak, aby vás upozornila, pokud metrika geografické replikace, která je v pořádku , generuje hodnotu, která není v pořádku (0) nepřetržitě po dobu 60 minut.

    1. Vyberte nové pravidlo upozornění.

    2. Definujte podmínku, která se má aktivovat, pokud je hodnota metriky minimálně 60 minut, doporučený čas.

    3. Přidejte skupiny akcí pro oznámení, například e-mail, SMS a další.

    4. Uložte upozornění.

    5. Další informace o tom, jak nastavit výstrahy pro mezipaměť Redis Enterprise, najdete v části výstrahy v tématu Monitorování mezipaměti Redis Cache.

Důležité

Tato metrika se může dočasně zobrazovat jako poškozená kvůli rutinním operacím, jako jsou události údržby nebo škálování iniciované Azure nebo zákazníkem. Abyste se vyhnuli falešným alarmům, doporučujeme nastavit interval pozorování o 60 minutách, kdy metrika nadále není v pořádku, protože je vhodná doba pro generování výstrahy, protože může značit problém, který vyžaduje zásah.

Běžné problémy na straně klienta, které můžou způsobovat problémy se synchronizací mezi geografickou replikou

  • Použití vlastních hashtagů – Použití vlastních hashtagů v Redisu může vést k nerovnoměrné distribuci dat napříč horizontálními oddíly, což může způsobit problémy s výkonem a problémy se synchronizací v geografických replikách, a proto nepoužívejte vlastní hashtagy, pokud databáze nepotřebuje provádět více klíčových operací.

  • Velká velikost klíče – Velké klíče můžou způsobit problémy se synchronizací mezi geografickou replikou. Pokud chcete zachovat hladký výkon a spolehlivou replikaci, doporučujeme při použití geografické replikace zachovat velikosti klíčů pod 500 MB. Pokud se velikost jednotlivých klíčů blíží 2 GB mezipaměti, čelí problémům se stavem geografické replikace.

Vyprázdnění mezipamětí pomocí rozhraní Azure CLI nebo PowerShell

K aktivaci operace vyprázdnění je možné použít také rozhraní Azure CLI a PowerShell. Další informace o práci s rozhraním Azure CLI najdete v tématu az redisenterprise database flush. Další informace o používání rozhraní PowerShell najdete v tématu Invoke-AzRedisEnterpriseCacheDatabaseFlush.

Důležité

Při práci s funkcí vyprazdňování mezipamětí buďte opatrní. Výběrem tlačítka odeberete všechna data z aktuální mezipaměti a ze všech propojených mezipamětí ve skupině geografické replikace.

Přístup k této funkci spravujte pomocí řízení přístupu na základě role v Azure. Přístup k vyprázdnění všech mezipamětí by měli mít jenom oprávnění uživatelé.

Další kroky