Migrace na Azure Cache for Redis

Tento článek popisuje několik přístupů k migraci existující mezipaměti Redis spuštěné místně nebo v jiné cloudové službě do Azure Cache for Redis.

Scénáře migrace

Open source Redis může běžet v mnoha výpočetních prostředích. Mezi běžné příklady patří:

  • Místní – mezipaměti Redis spuštěné v privátních datových centrech.
  • Cloudové virtuální počítače – mezipaměti Redis běžící na virtuálních počítačích Azure, AWS EC2 atd.
  • Hostitelské služby – spravované služby Redis, jako je AWS ElastiCache.

Pokud takovou mezipaměť máte, můžete ji přesunout do Azure Cache for Redis s minimálním přerušením nebo výpadkem.

Pokud chcete přejít z jedné oblasti Azure do jiné, doporučujeme, abyste se podívali na článek Přesun instancí Azure Cache for Redis do různých oblastí.

Možnosti migrace

Existují různé způsoby, jak můžete přepnout z jedné mezipaměti do jiné. V závislosti na tom, kde se mezipaměť nachází a jak s ní vaše aplikace komunikuje, bude jedna metoda užitečnější než ostatní. Některé z často používaných strategií migrace jsou podrobně popsány níže.

Možnost Výhody Nevýhody
Vytvoření nové mezipaměti Nejjednodušší implementace. Je potřeba znovu naplnit data do nové mezipaměti, která nemusí fungovat s mnoha aplikacemi.
Export a import dat prostřednictvím souboru RDB Obecně kompatibilní s jakoukoli mezipamětí Redis. Pokud se po vygenerování souboru RDB zapíšou do existující mezipaměti, může dojít ke ztrátě některých dat.
Duální zápis dat do dvou mezipamětí Nedojde ke ztrátě dat ani výpadku. Nepřerušované operace existující mezipaměti. Jednodušší testování nové mezipaměti Potřebuje dvě mezipaměti po delší dobu.
Migrace dat prostřednictvím kódu programu Plnou kontrolu nad tím, jak se data přesouvají. Vyžaduje vlastní kód.

Vytvoření nového Azure Cache for Redis

Tento přístup technicky vzato není migrací. Pokud ztráta dat není problém, nejjednodušší způsob, jak přejít na Azure Cache for Redis, je vytvořit instanci mezipaměti a připojit k ní aplikaci. Pokud například použijete Redis jako mezipaměť záznamů databáze s doplňováním, můžete mezipaměť snadno znovu sestavit od začátku.

Obecné kroky pro implementaci této možnosti:

  1. Vytvořte novou instanci Azure Cache for Redis.

  2. Aktualizujte aplikaci tak, aby používala novou instanci.

  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 mezipaměti v paměti a jeho uložení do souboru. Tento soubor s názvem RDB může číst jiná mezipaměť Redis. Azure Cache for Redis úroveň Premium podporuje import dat do instance mezipaměti prostřednictvím souborů 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, ze které exportujete, by měla být stejná nebo menší než verze poskytovaná Azure Cache for Redis.

Obecné kroky pro implementaci této možnosti:

  1. Vytvořte novou instanci Azure Cache for Redis na úrovni Premium, která má stejnou (nebo větší) velikost jako existující mezipaměť.

  2. Uložte snímek existující mezipaměti Redis. Redis můžete nakonfigurovat tak, aby ukládaly snímky pravidelně, nebo tento proces spouštět ručně pomocí příkazů SAVE nebo BGSAVE. Soubor RDB má ve výchozím nastavení název dump.rdb a bude umístěn v cestě zadané v konfiguračním souboru redis.conf .

    Poznámka

    Pokud migrujete data v rámci Azure Cache for Redis, přečtěte si tyto pokyny k exportu souboru RDB nebo místo toho použijte rutinu PowerShellu Export.

  3. Zkopírujte soubor RDB do účtu úložiště Azure v oblasti, kde se nachází nová mezipaměť. Pro tuto úlohu můžete použít AzCopy.

  4. Naimportujte soubor RDB do nové mezipaměti pomocí těchto pokynů k importu nebo rutiny Import prostředí PowerShell.

  5. Aktualizujte aplikaci tak, aby používala novou instanci mezipaměti.

Zápis do dvou mezipamětí Redis současně během období migrace

Místo přesouvání dat přímo mezi mezipamětí můžete aplikaci použít k zápisu dat do existující i nové mezipaměti, kterou nastavujete. Aplikace bude i nadále zpočátku číst data z existující mezipaměti. Když nová mezipaměť obsahuje potřebná data, přepnete aplikaci do této mezipaměti a vyřadíte starou mezipaměť. Řekněme například, že používáte Redis jako úložiště relací a relace aplikace jsou platné sedm dní. Po týdenním zápisu do obou mezipamětí si budete jistí, že nová mezipaměť obsahuje všechny informace o relacích, které nevypršely. Od této chvíle se na ni můžete bezpečně spolehnout, aniž byste se museli zabývat ztrátou dat.

Obecné kroky pro implementaci této možnosti:

  1. Vytvořte novou instanci Azure Cache for Redis na úrovni Premium, která má stejnou (nebo větší) velikost jako existující mezipaměť.

  2. Upravte kód aplikace tak, aby se zapisovat do nových i původních instancí.

  3. Pokračujte ve čtení 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í proces migrace můžete vytvořit programovým načtením dat z existující mezipaměti a jejich zápisem do Azure Cache for Redis. Tento opensourcový nástroj lze použít ke kopírování dat z jedné instance Azure Cache for Redis do jiné. K dispozici je také zkompilovaná verze . Zdrojový kód může být také užitečným vodítkem pro psaní vlastního nástroje pro migraci.

Poznámka

Microsoft tento nástroj oficiálně nepodporuje.

Obecné kroky pro implementaci této možnosti:

  1. Vytvořte virtuální počítač v oblasti, ve které se nachází existující mezipaměť. Pokud je vaše datová sada velká, zvolte relativně výkonný virtuální počítač, abyste zkrátili dobu kopírování.

  2. Vytvořte novou instanci Azure Cache for Redis.

  3. Vyprázdněním dat z nové mezipaměti zajistíte, že je prázdná. Tento krok je povinný, protože samotný nástroj pro kopírování nepřepíše žádný existující klíč v cílové mezipaměti.

    Důležité

    Ujistěte se, že SE NEVYPRÁZDNÍ ze zdrojové mezipaměti.

  4. K automatizaci kopírování dat ze zdrojové mezipaměti do cíle použijte aplikaci, jako je výše uvedený opensourcový nástroj. Mějte na paměti, že v závislosti na velikosti datové sady může dokončení procesu kopírování chvíli trvat.

Další kroky

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