Konfigurace clusteringu Redis pro instanci Azure Cache for Redis Premium

Azure Cache for Redis nabízí cluster Redis jako implementovaný v Redis. S Clusterem Redis získáte následující výhody:

  • Možnost automaticky rozdělit datovou sadu mezi více uzlů.
  • Možnost pokračovat v operacích, když u podmnožina uzlů dochází k selhání nebo nemůže komunikovat se zbytkem clusteru.
  • Větší propustnost: Propustnost se lineárně zvyšuje při zvýšení počtu horizontálních oddílů.
  • Větší velikost paměti: Lineárně se zvyšuje při zvyšování počtu horizontálních oddílů.

Clustering nezvyšuje počet připojení dostupných pro clusterovanou mezipaměť. Další informace o velikosti, propustnosti a šířce pásma u mezipamětí Premium najdete v tématu Výběr správné úrovně.

V Azure se cluster Redis nabízí jako model primární/repliky, kde každý horizontální oddíl má pár primární/replika s replikací, kde replikaci spravuje služba Azure Cache for Redis.

Nastavení clusteringu

Při vytváření mezipaměti je na levé straně povolen clustering Nový Azure Cache for Redis.

  1. Pokud chcete vytvořit mezipaměť úrovně Premium, přihlaste se k Azure Portal a vyberte Vytvořit prostředek. Kromě vytváření mezipamětí v Azure Portal je můžete vytvořit také pomocí šablon Resource Manager, PowerShellu nebo Azure CLI. Další informace o vytvoření Azure Cache for Redis najdete v tématu Vytvoření mezipaměti.

    Vytvořit prostředek.

  2. Na stránce Nový vyberte Databáze a pak vyberte Azure Cache for Redis.

    Vyberte Azure Cache for Redis.

  3. Na stránce Nová mezipaměť Redis nakonfigurujte nastavení pro novou mezipaměť premium.

    Nastavení Navrhovaná hodnota Popis
    Název DNS Zadejte globálně jedinečný název. Název mezipaměti musí být řetězec o délce 1 až 63 znaků. Řetězec může obsahovat jenom čísla, písmena nebo spojovníky. Název musí začínat a končit číslicí nebo písmenem a nesmí obsahovat po sobě jdoucí pomlčky. Název hostitele instance mezipaměti bude <NÁZEV> DNS.redis.cache.windows.net.
    Předplatné Rozevírací seznam a vyberte své předplatné. Předplatné, ve kterém chcete vytvořit tuto novou instanci Azure Cache for Redis.
    Skupina prostředků Rozevírací seznam a vyberte skupinu prostředků, nebo vyberte Vytvořit novou a zadejte název nové skupiny prostředků. Název skupiny prostředků, ve které chcete vytvořit mezipaměť a další prostředky. Když umístíte všechny prostředky aplikace do jedné skupiny prostředků, můžete je snadno spravovat nebo odstraňovat společně.
    Umístění Rozevírací seznam a výběr umístění Vyberte oblast blízko jiných služeb, které budou používat vaši mezipaměť.
    Typ mezipaměti Rozevírací seznam a výběr mezipaměti úrovně Premium pro konfiguraci prémiových funkcí. Podrobnosti najdete v tématu ceny Azure Cache for Redis. Cenová úroveň určuje velikost, výkon a funkce, které jsou k dispozici pro danou mezipaměť. Další informace najdete v tématu přehled Azure Cache for Redis.
  4. Vyberte kartu Sítě nebo vyberte tlačítko Sítě v dolní části stránky.

  5. Na kartě Sítě vyberte metodu připojení. V případě instancí mezipaměti úrovně Premium se můžete připojit buď veřejně, prostřednictvím veřejných IP adres nebo koncových bodů služby, nebo soukromě pomocí privátního koncového bodu.

  6. Vyberte kartu Další: Upřesnit nebo vyberte tlačítko Další: Upřesnit v dolní části stránky.

  7. Na kartě Upřesnit pro instanci mezipaměti úrovně Premium nakonfigurujte nastavení portu bez tls, clusteringu a trvalosti dat. Pokud chcete povolit clustering, vyberte Povolit.

    Přepínač clusteringu.

    V clusteru můžete mít až 10 horizontálních oddílů. Po výběru možnosti Povolit posuňte posuvník nebo zadejte číslo mezi 1 a 10 pro počet horizontálních oddílů a vyberte OK.

    Každý horizontální oddíl je pár mezipaměti primární/repliky spravovaný službou Azure a celková velikost mezipaměti se vypočítá vynásobením počtu horizontálních oddílů velikostí mezipaměti vybranou v cenové úrovni.

    Přepínač clusteringu je vybraný.

    Jakmile je mezipaměť vytvořená, připojíte se k ní a použijete ji stejně jako mezipaměť bez clusteru. Redis distribuuje data napříč horizontálními oddíly mezipaměti. Pokud je povolená diagnostika, metriky se zaznamenávají samostatně pro každý horizontální oddíl a dají se zobrazit v Azure Cache for Redis vlevo.

  8. Vyberte kartu Další: Značky nebo vyberte tlačítko Další: Značky v dolní části stránky.

  9. Volitelně na kartě Značky zadejte název a hodnotu, pokud chcete prostředek zařadit do kategorií.

  10. Vyberte Zkontrolovat a vytvořit. Přejdete na kartu Zkontrolovat a vytvořit, kde Azure ověří vaši konfiguraci.

  11. Jakmile se zobrazí zelená zpráva Ověření proběhlo úspěšně, vyberte Vytvořit.

Vytvoření mezipaměti chvíli trvá. Průběh můžete sledovat na stránce přehledu Azure Cache for Redis. Když se stav zobrazí jako Spuštěno, mezipaměť je připravená k použití.

Poznámka

Při konfiguraci clusteringu je potřeba v klientské aplikaci několik drobných rozdílů. Další informace najdete v tématu Musím udělat nějaké změny v klientské aplikaci, aby bylo možné používat clustering?

Ukázkový kód pro práci s clusteringem pomocí klienta StackExchange.Redis najdete v části clustering.csHello World ukázky.

Změna velikosti clusteru ve spuštěné mezipaměti premium

Pokud chcete změnit velikost clusteru v mezipaměti premium, kterou jste vytvořili dříve a která už běží s povoleným clusteringem, vyberte v nabídce Prostředek možnost Velikost clusteru .

Snímek obrazovky Resource Manageru s vybranou velikostí clusteru

Pokud chcete změnit velikost clusteru, použijte posuvník nebo zadejte číslo mezi 1 a 10 do textového pole Počet horizontálních oddílů . Pak vyberte OK a uložte ho.

Zvětšením velikosti clusteru se zvýší maximální propustnost a velikost mezipaměti. Zvětšením velikosti clusteru se nezvýší maximální počet dostupných připojení pro klienty.

Poznámka

Při škálování clusteru se spustí příkaz MIGRATE , což je nákladný příkaz, takže pro minimální dopad zvažte spuštění této operace mimo špičku. Během procesu migrace uvidíte špičku v zatížení serveru. Škálování clusteru je dlouhotrvající proces a doba trvání závisí na počtu klíčů a velikosti hodnot přidružených k těmto klíčům.

Nejčastější dotazy ke clusteringu

Následující seznam obsahuje odpovědi na nejčastější dotazy týkající se clusteringu Azure Cache for Redis.

Musím v klientské aplikaci udělat nějaké změny, aby bylo možné používat clustering?

Jak se klíče distribuují v clusteru?

Podle dokumentace k distribučnímu modelu Klíčů Redis: Prostor klíčů je rozdělený do 16 384 slotů. Každý klíč se zatřiďuje a přiřadí se k jednomu z těchto slotů, které se distribuují napříč uzly clusteru. Pomocí značek hash můžete nakonfigurovat, která část klíče se bude hashovat, abyste zajistili, že se ve stejném horizontálním oddílu nachází více klíčů.

  • Klíče se značkou hash – pokud je některá část klíče uzavřená v { a }, za účelem určení slotu hash klíče se zatřiďuje pouze tato část klíče. Například následující tři klíče by se nacházely ve stejném horizontálním oddílu: {key}1, {key}2a , protože {key}3 hodnota key hash je pouze část názvu. Úplný seznam specifikací značek hash klíčů najdete v tématu Značky hash klíčů.
  • Klíče bez značky hash – celý název klíče se používá k hashování, což vede ke statisticky rovnoměrné distribuci napříč horizontálními oddíly mezipaměti.

Pro zajištění nejlepšího výkonu a propustnosti doporučujeme distribuovat klíče rovnoměrně. Pokud používáte klíče se značkou hash, je na aplikaci, aby zajistila rovnoměrnou distribuci klíčů.

Další informace najdete v tématech Model distribuce klíčů, Horizontální dělení dat clusteru Redis a Značky hash klíčů.

Ukázkový kód o práci s clusteringem a vyhledání klíčů ve stejném horizontálním oddílu s klientem StackExchange.Redis najdete v části clustering.csv ukázce Hello World.

Jaká je největší velikost mezipaměti, kterou můžu vytvořit?

Největší velikost mezipaměti, kterou můžete mít, je 1,2 TB. Výsledkem je clusterovaná mezipaměť P5 s 10 horizontálními oddíly. Další informace najdete v tématu ceny Azure Cache for Redis.

Podporují clustering všichni klienti Redis?

Mnoho klientských knihoven podporuje clustering Redis, ale ne všechny. Projděte si dokumentaci ke knihovně, kterou používáte, a ověřte, že používáte knihovnu a verzi, které podporují clustering. StackExchange.Redis je jedna knihovna, která podporuje clustering ve svých novějších verzích. Další informace o jiných klientech najdete v části Přehrávání s clusteremv kurzu clusteru Redis.

Protokol clusteringu Redis vyžaduje, aby se každý klient připojil ke každému horizontálnímu oddílu přímo v režimu clusteringu, a také definuje nové chybové odpovědi, například MOVED na CROSSSLOTS. Když se pokusíte použít klientskou knihovnu, která nepodporuje clustering, s mezipamětí režimu clusteru, může to mít za následek mnoho výjimek přesměrování MOVED nebo jenom narušit vaši aplikaci, pokud provádíte požadavky s více klíči mezi sloty.

Poznámka

Pokud jako klienta používáte StackExchange.Redis, ujistěte se, že používáte nejnovější verzi StackExchange.Redis 1.0.481 nebo novější, aby clustering fungoval správně. Další informace o případných problémech s výjimkami přesunu najdete v tématu o výjimkách přesunu.

Návody se připojit k mezipaměti, když je povolený clustering?

K mezipaměti se můžete připojit pomocí stejných koncových bodů, portů a klíčů , které používáte při připojování k mezipaměti, která nemá povolený clustering. Redis spravuje clustering na back-endu, takže ho nemusíte spravovat z klienta.

Můžu se přímo připojit k jednotlivým horizontálním oddílům mezipaměti?

Protokol clusteringu vyžaduje, aby klient navazil správná připojení k horizontálním oddílům, takže by klient měl vytvořit připojení ke sdílené složce za vás. Díky tomu se každý horizontální oddíl skládá z dvojice mezipamětí primární/repliky, která se souhrnně označuje jako instance mezipaměti. K těmto instancím mezipaměti se můžete připojit pomocí nástroje redis-cli v nestabilní větvi úložiště Redis na GitHubu. Tato verze implementuje základní podporu při spuštění -c přepínače. Další informace najdete v tématu Hraní se zapnutýmhttps://redis.io clusterem v kurzu clusteru Redis.

V případě jiného typu než TLS použijte následující příkazy.

Redis-cli.exe –h <<cachename>> -p 13000 (to connect to instance 0)
Redis-cli.exe –h <<cachename>> -p 13001 (to connect to instance 1)
Redis-cli.exe –h <<cachename>> -p 13002 (to connect to instance 2)
...
Redis-cli.exe –h <<cachename>> -p 1300N (to connect to instance N)

V případě protokolu TLS nahraďte za 1300N1500N.

Můžu nakonfigurovat clustering pro dříve vytvořenou mezipaměť?

Ano. Nejprve vertikálním navýšením kapacity zajistěte, aby vaše mezipaměť byla premium. Dále uvidíte možnosti konfigurace clusteru, včetně možnosti pro povolení clusteru. Velikost clusteru můžete změnit po vytvoření mezipaměti nebo po prvním povolení clusteringu.

Důležité

Povolení clusteringu nejde vrátit zpět. Mezipaměť s povoleným clusteringem a pouze jedním horizontálním oddílem se chová jinak než mezipaměť stejné velikosti bez clusteringu.

Můžu nakonfigurovat clustering pro základní nebo standardní mezipaměť?

Clustering je k dispozici pouze pro mezipaměti úrovně Premium.

Můžu použít clustering se zprostředkovateli stavu relace Redis ASP.NET a ukládání výstupu do mezipaměti?

  • Zprostředkovatel výstupní mezipaměti Redis – nevyžadují se žádné změny.
  • Zprostředkovatel stavu relace Redis – pokud chcete použít clustering, musíte použít RedisSessionStateProvider 2.0.1 nebo vyšší nebo je vyvolání výjimky, což je změna způsobující chybu. Další informace najdete v tématu Podrobnosti o zásadních změnách v2.0.0.

Při používání StackExchange.Redis a clusteringu dochází k výjimkám move. Co mám dělat?

Pokud používáte StackExchange.Redis a při použití clusteringu dochází MOVE k výjimkám, ujistěte se, že používáte StackExchange.Redis 1.1.603 nebo novější. Pokyny ke konfiguraci aplikací .NET pro použití StackExchange.Redis najdete v tématu Konfigurace klientů mezipaměti.

Další kroky

Přečtěte si další informace o funkcích Azure Cache for Redis.