Sdílet prostřednictvím


Migrace na Azure Cache for Redis

Tento článek popisuje řadu 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. K běžným příkladům patří:

  • Místní mezipaměť 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, možná ji budete moct přesunout do služby 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 si mohli prohlédnout článek o přesunu 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 na jinou. V závislosti na tom, kde je vaše mezipaměť 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ě popsané níže.

Možnost Výhody Nevýhody
Vytvoření nové mezipaměti Nejjednodušší k implementaci. Potřebujete znovu naplnit data do nové mezipaměti, která nemusí fungovat s mnoha aplikacemi.
Export a import dat přes soubor RDB Obecně kompatibilní s jakoukoli mezipamětí Redis. Některá data můžou být ztracena, pokud jsou po vygenerování souboru RDB zapsána do existující mezipaměti.
Duální zápis dat do dvou mezipamětí Žádná ztráta nebo výpadek dat. 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 Úplná kontrola nad přesunem dat Vyžaduje vlastní kód.

Vytvoření nové služby 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 do služby Azure Cache for Redis, je vytvořit instanci mezipaměti a připojit k ní aplikaci. Pokud například používáte Redis jako mezipaměť s doplňováním do mezipaměti databázových záznamů, můžete mezipaměť snadno znovu sestavit od začátku.

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

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

  2. Volitelně si můžete vyzkoušet novou službu Azure Managed Redis (Preview).

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

  4. 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. Tento soubor s názvem RDB může číst jiná mezipaměť Redis. Azure Cache for Redis Úrovně 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 změ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á službou Azure Cache for Redis.

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

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

  2. Uložte snímek existující mezipaměti Redis. Redis můžete nakonfigurovat tak, aby ukládaly snímky pravidelně, nebo proces spustit 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 azure Cache for Redis, přečtěte si tyto pokyny k exportu souboru RDB nebo použijte místo toho rutinu exportu PowerShellu.

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

  4. Pomocí těchto pokynů k importu nebo rutiny importu PowerShellu naimportujte soubor RDB do nové mezipaměti.

  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římého přesouvání dat mezi mezipamětí můžete pomocí aplikace zapisovat data do existující mezipaměti i do nové mezipaměti, kterou nastavujete. Aplikace bude na začátku číst data z existující mezipaměti. Pokud má nová mezipaměť 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 zápisu do dvou mezipamětí na týden budete mít jistotu, že nová mezipaměť obsahuje všechny informace o relaci, jejichž platnost nevypršela. Můžete se na něj bezpečně spolehnout, aniž byste se museli zabývat ztrátou dat.

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

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

  2. Upravte kód aplikace tak, aby se zapsal 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 čtením dat z existující mezipaměti a jejich zápisem do služby 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é kompilovaná verze . Můžete také najít zdrojový kód, který je užitečným průvodcem pro psaní vlastního nástroje pro migraci.

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č 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ěte data z nové mezipaměti, abyste měli jistotu, že jsou 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é

    Nezapomeňte neprázdnit ze zdrojové mezipaměti.

  4. Pomocí aplikace, jako je například opensourcový nástroj výše, automatizujte kopírování dat ze zdrojové mezipaměti do cíle. Nezapomeňte, že dokončení procesu kopírování může chvíli trvat v závislosti na velikosti datové sady.

Další kroky

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