Sdílet prostřednictvím


Migrace do nebo mezi instancemi Azure Cache for Redis

Důležité

Služba Azure Cache for Redis oznámila časovou osu vyřazení všech skladových položek. Doporučujeme přesunout stávající instance Azure Cache for Redis do Azure Managed Redis , jakmile budete moct.

Další podrobnosti o vyřazení:

Tento článek popisuje několik scénářů migrace Azure Cache for Redis. Do Azure Cache for Redis můžete migrovat opensourcové mezipaměti Redis spuštěné místně nebo v cloudových virtuálních počítačích nebo hostovaných mezipamětí z jiných cloudových platforem.

Můžete také migrovat jednu instanci Azure Cache for Redis do jiné instance. Pokud potřebujete přesunout mezipaměť Azure Redis jenom z jedné oblasti Azure do jiné, přečtěte si téma Přesun instancí Azure Cache for Redis do různých oblastí.

Open source Redis může běžet v mnoha výpočetních prostředích, jako jsou privátní místní datová centra nebo virtuální počítače hostované v cloudu. Další hostitelské platformy, jako je Amazon Web Services (AWS), hostují služby mezipaměti Redis, jako je AWS ElastiCache. Tyto mezipaměti Redis můžete obvykle migrovat do služby Azure Cache for Redis s minimálním přerušením nebo výpadkem.

Možnosti migrace

Způsob migrace z jedné mezipaměti do druhé závisí na tom, kde mezipaměť existuje a jak s ní vaše aplikace komunikuje. Následující tabulka uvádí často používané strategie migrace.

Možnost Výhody Nevýhody
Vytvoření nové mezipaměti Nejjednodušší k implementaci. Je nutné znovu naplnit data do nové mezipaměti, která nemusí s některými aplikacemi fungovat.
Export a import dat prostřednictvím souboru databáze jen pro čtení (RDB). Kompatibilní s jakoukoli mezipamětí Redis. Data zapsaná do existující mezipaměti po vygenerování souboru RDB mohou být ztracena.
Duální zápis dat do dvou mezipamětí Žádné ztráty nebo výpadky dat, žádné přerušené operace mezipaměti a jednodušší testování. Potřebuje dvě cache na delší dobu.
Migrujte data prostřednictvím kódu programu. Úplná kontrola nad přesunem dat Vyžaduje vlastní kód.

Vytvoření nové mezipaměti

Pokud se nejedná o nepřerušované operace a potenciální ztrátu dat, nejjednodušší způsob, jak přesunout data do služby Azure Cache for Redis, je vytvořit instanci mezipaměti Azure Redis a připojit k ní aplikaci. Pokud například používáte Redis jako boční mezipaměť pro databázové záznamy, můžete tuto mezipaměť snadno znovu vytvořit od začátku. Tento přístup není technicky vzato migrací.

Mezi obecné kroky pro implementaci této možnosti patří:

  1. Vytvořte novou instanci Azure Cache for Redis. Volitelně si můžete vyzkoušet Azure Managed Redis.
  2. Aktualizujte aplikaci tak, aby používala novou instanci Azure Redis.
  3. Odstraňte starou instanci Redis.

Export dat do souboru RDB a jejich import do Azure Cache for Redis

Open source Redis definuje standardní mechanismus pro pořízení snímku datové sady v paměti mezipaměti a jeho uložení do souboru RDB, který může číst jakákoli mezipaměť Redis. Úroveň Azure Cache for Redis Premium podporuje import dat do instance mezipaměti prostřednictvím souboru RDB. Soubor RDB můžete použít k přenosu dat z existující mezipaměti do Azure Cache for Redis.

Důležité

Formát souboru RDB se může mezi verzemi Redis měnit a nemusí udržovat zpětnou kompatibilitu. Verze mezipaměti Redis, kterou exportujete, by měla být rovna nebo nižší než verze, kterou poskytuje Azure Cache for Redis.

Mezi obecné kroky pro implementaci této možnosti patří:

  1. Uložte snímek existující mezipaměti Redis. Redis můžete nakonfigurovat tak, aby ukládaly snímky pravidelně, nebo je můžete uložit ručně pomocí příkazů SAVE nebo BGSAVE. Soubor RDB má ve výchozím nastavení název dump.rdb a nachází se v cestě zadané v konfiguračním souboru redis.conf .
  2. Vytvořte novou instanci Azure Cache úrovně Premium pro Redis, která je alespoň tak velká jako existující mezipaměť.
  3. Zkopírujte soubor RDB do účtu úložiště Azure v oblasti, ve které se nachází vaše nová mezipaměť. Pro tento úkol můžete použít AzCopy .
  4. Importujte soubor RDB do nové mezipaměti. Můžete také použít rutinu Import-AzRedisCache PowerShellu.
  5. Aktualizujte aplikaci tak, aby používala novou instanci mezipaměti.

Poznámka:

Pokud chcete migrovat data z jiné instance Azure Redis, nejprve exportujte soubor RDB z této instance nebo použijte rutinu PowerShell Export-AzRedisCache .

Zápis do dvou mezipamětí Redis během migrace

Místo přesouvání dat mezi mezipamětí můžete dočasně nastavit aplikaci tak, aby zapisuje data do existující mezipaměti i do nové. Aplikace načte data z existující mezipaměti. Pokud má nová mezipaměť dostatek dat, můžete přepnout aplikaci do této mezipaměti a vyřadit starou mezipaměť.

Předpokládejme například, že používáte Redis jako úložiště relací a platnost relací aplikace vyprší po sedmi dnech. Po zápisu do obou mezipamětí po dobu sedmi dnů víte, že nová mezipaměť obsahuje všechny nevyexpirované informace o relaci a můžete se na ni od tohoto okamžiku bezpečně spolehnout. Pak můžete starou mezipaměť vyřadit.

Mezi obecné kroky pro implementaci této možnosti patří:

  1. Vytvořte novou instanci Azure Cache úrovně Premium pro Redis, která je alespoň tak velká jako existující mezipaměť.
  2. Upravte kód aplikace tak, aby zapisoval do nových i původních instancí.
  3. Pokračujte v používání dat z původní instance, dokud se nová instance dostatečně nenaplní daty.
  4. Aktualizujte kód aplikace na čtení a zápis pouze z nové instance.
  5. Odstraňte původní instanci.

Migrace prostřednictvím kódu programu

Vlastní migraci můžete vytvořit programovým čtením dat z existující mezipaměti a zápisem do azure Cache for Redis. Pomocí opensourcového nástroje redis-copy můžete například kopírovat data z jedné instance Azure Redis do jiné.

Zdrojový kód může být užitečným průvodcem pro psaní vlastního nástroje pro migraci. K dispozici je také zkompilovaná verze .

Poznámka:

Microsoft tento nástroj oficiálně nepodporuje.

Mezi obecné kroky pro implementaci této možnosti patří:

  1. Vytvořte virtuální počítač Azure ve stejné oblasti jako existující mezipaměť. Pokud je vaše datová sada velká, zvolte výkonný virtuální počítač, abyste zkrátili dobu kopírování.
  2. Vytvořte novou instanci Azure Cache for Redis a ujistěte se, že je prázdná. Nástroj redis-copy nepřepíše žádné existující klíče v cílové mezipaměti.
  3. Použijte aplikaci, jako je například redis-copy, k automatizaci kopírování dat ze zdrojové mezipaměti do cílové mezipaměti. Proces kopírování může chvíli trvat v závislosti na velikosti datové sady.