Migrowanie do usługi Azure Cache for Redis

W tym artykule opisano wiele metod migracji istniejącej pamięci podręcznej Redis cache działającej lokalnie lub w innej usłudze w chmurze do Azure Cache for Redis.

Scenariusze migracji

Usługa Redis typu open source może działać w wielu środowiskach obliczeniowych. Typowe przykłady to:

  • Lokalne — pamięci podręczne Redis działające w prywatnych centrach danych.
  • Maszyny wirtualne oparte na chmurze — pamięci podręczne Redis działające na maszynach wirtualnych platformy Azure, usłudze AWS EC2 itd.
  • Usługi hostingu — zarządzane usługi Redis, takie jak AWS ElastiCache.

Jeśli masz taką pamięć podręczną, możesz przenieść ją do Azure Cache for Redis z minimalnymi przerwami lub przestojami.

Jeśli chcesz przejść z jednego regionu platformy Azure do innego, zalecamy zapoznanie się z artykułem Przenoszenie Azure Cache for Redis wystąpień do różnych regionów.

Opcje migracji

Istnieją różne sposoby przełączania się z jednej pamięci podręcznej na inną. W zależności od tego, gdzie znajduje się pamięć podręczna i jak aplikacja współdziała z nią, jedna metoda będzie bardziej przydatna niż inne. Poniżej przedstawiono niektóre z często używanych strategii migracji.

Opcja Zalety Wady
Tworzenie nowej pamięci podręcznej Najprostsze do zaimplementowania. Należy ponownie wypełniać dane w nowej pamięci podręcznej, co może nie działać z wieloma aplikacjami.
Eksportowanie i importowanie danych za pośrednictwem pliku RDB Ogólnie zgodne z dowolną pamięcią podręczną Redis Cache. Niektóre dane mogą zostać utracone, jeśli zostaną zapisane w istniejącej pamięci podręcznej po wygenerowaniu pliku RDB.
Dane z podwójnym zapisem w dwóch pamięciach podręcznych Brak utraty danych ani przestoju. Nieprzerwane operacje istniejącej pamięci podręcznej. Łatwiejsze testowanie nowej pamięci podręcznej. Wymaga dwóch pamięci podręcznych przez dłuższy czas.
Programowe migrowanie danych Pełna kontrola nad sposobem przenoszenia danych. Wymaga kodu niestandardowego.

Tworzenie nowego Azure Cache for Redis

Takie podejście technicznie nie jest migracją. Jeśli utrata danych nie jest problemem, najprostszym sposobem przejścia do Azure Cache for Redis jest utworzenie wystąpienia pamięci podręcznej i połączenie aplikacji z nią. Jeśli na przykład używasz usługi Redis jako pamięci podręcznej z odkładaną do bok pamięci podręcznej rekordów bazy danych, możesz łatwo ponownie skompilować pamięć podręczną od podstaw.

Ogólne kroki implementacji tej opcji to:

  1. Utwórz nowe wystąpienie Azure Cache for Redis.

  2. Zaktualizuj aplikację, aby korzystała z nowego wystąpienia.

  3. Usuń stare wystąpienie usługi Redis.

Eksportowanie danych do pliku RDB i importowanie ich do Azure Cache for Redis

Usługa Redis typu open source definiuje standardowy mechanizm tworzenia migawki zestawu danych w pamięci pamięci podręcznej i zapisywania go w pliku. Ten plik o nazwie RDB może być odczytywany przez inną pamięć podręczną Redis Cache. Azure Cache for Redis warstwa Premium obsługuje importowanie danych do wystąpienia pamięci podręcznej za pośrednictwem plików RDB. Możesz użyć pliku RDB do transferu danych z istniejącej pamięci podręcznej do Azure Cache for Redis.

Ważne

Format pliku RDB może ulec zmianie między wersjami usługi Redis i może nie zachować zgodności z poprzednimi wersjami. Wersja pamięci podręcznej redis, z której eksportujesz, powinna być równa lub mniejsza niż wersja podana przez Azure Cache for Redis.

Ogólne kroki implementacji tej opcji to:

  1. Utwórz nowe wystąpienie Azure Cache for Redis w warstwie Premium o takim samym rozmiarze jak (lub większe) istniejącej pamięci podręcznej.

  2. Zapisz migawkę istniejącej pamięci podręcznej Redis Cache. Możesz skonfigurować usługę Redis do okresowego zapisywania migawek lub uruchomić proces ręcznie przy użyciu poleceń SAVE lub BGSAVE . Plik RDB ma domyślnie nazwę "dump.rdb" i będzie znajdować się w ścieżce określonej w pliku konfiguracji redis.conf .

    Uwaga

    Jeśli migrujesz dane w Azure Cache for Redis, zapoznaj się z tymi instrukcjami dotyczącymi eksportowania pliku RDB lub zamiast tego użyj polecenia cmdlet eksportu programu PowerShell.

  3. Skopiuj plik RDB do konta usługi Azure Storage w regionie, w którym znajduje się nowa pamięć podręczna. Do tego zadania można użyć narzędzia AzCopy.

  4. Zaimportuj plik RDB do nowej pamięci podręcznej przy użyciu tych instrukcji importowania lub polecenia cmdlet importowania programu PowerShell.

  5. Zaktualizuj aplikację, aby korzystała z nowego wystąpienia pamięci podręcznej.

Zapisywanie w dwóch pamięciach podręcznych Redis jednocześnie w okresie migracji

Zamiast przenosić dane bezpośrednio między pamięciami podręcznymi, możesz użyć aplikacji do zapisywania danych w istniejącej pamięci podręcznej i nowej, którą konfigurujesz. Aplikacja będzie nadal odczytywać dane z istniejącej pamięci podręcznej. Gdy nowa pamięć podręczna zawiera niezbędne dane, przełącz aplikację do tej pamięci podręcznej i wycofasz starą. Załóżmy na przykład, że używasz usługi Redis jako magazynu sesji, a sesje aplikacji są ważne przez siedem dni. Po zapisaniu do dwóch pamięci podręcznych przez tydzień nowa pamięć podręczna będzie mieć pewność, że nowa pamięć podręczna zawiera wszystkie informacje o sesji, które nie wygasły. Możesz bezpiecznie polegać na nim od tego momentu, nie obawiając się utraty danych.

Ogólne kroki implementacji tej opcji to:

  1. Utwórz nowe wystąpienie Azure Cache for Redis w warstwie Premium o takim samym rozmiarze jak (lub większe) istniejącej pamięci podręcznej.

  2. Zmodyfikuj kod aplikacji, aby zapisywać w nowych i oryginalnych wystąpieniach.

  3. Kontynuuj odczytywanie danych z oryginalnego wystąpienia, dopóki nowe wystąpienie nie zostanie wystarczająco wypełnione danymi.

  4. Zaktualizuj kod aplikacji, aby odczytywał i zapisywał tylko z nowego wystąpienia.

  5. Usuń oryginalne wystąpienie.

Programowe migrowanie

Niestandardowy proces migracji można utworzyć programowo odczytując dane z istniejącej pamięci podręcznej i zapisując je w Azure Cache for Redis. To narzędzie typu open source może służyć do kopiowania danych z jednego wystąpienia Azure Cache for Redis do innego. Dostępna jest również skompilowana wersja . Kod źródłowy może być również przydatnym przewodnikiem pisania własnego narzędzia do migracji.

Uwaga

To narzędzie nie jest oficjalnie obsługiwane przez firmę Microsoft.

Ogólne kroki implementacji tej opcji to:

  1. Utwórz maszynę wirtualną w regionie, w którym znajduje się istniejąca pamięć podręczna. Jeśli zestaw danych jest duży, wybierz stosunkowo zaawansowaną maszynę wirtualną, aby skrócić czas kopiowania.

  2. Utwórz nowe wystąpienie Azure Cache for Redis.

  3. Opróżnij dane z nowej pamięci podręcznej, aby upewnić się, że są puste. Ten krok jest wymagany, ponieważ samo narzędzie do kopiowania nie zastępuje żadnego istniejącego klucza w docelowej pamięci podręcznej.

    Ważne

    Pamiętaj, aby nie opróżnić pamięci podręcznej źródłowej.

  4. Użyj aplikacji, takiej jak narzędzie open source powyżej, aby zautomatyzować kopiowanie danych z pamięci podręcznej źródłowej do miejsca docelowego. Pamiętaj, że proces kopiowania może zająć trochę czasu w zależności od rozmiaru zestawu danych.

Następne kroki

Dowiedz się więcej o funkcjach Azure Cache for Redis.