Udostępnij przez


Migrowanie do usługi Azure Managed Redis z innych pamięci podręcznych

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

Scenariusze migracji

Usługa Redis typu open source może działać w wielu środowiskach obliczeniowych. Do powszechnych przykładów należą:

  • Lokalnie — 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 usługi Azure Managed Redis z minimalnymi przerwami lub przestojami.

Jeśli chcesz przenieść się z jednego regionu platformy Azure do innego, przenieś wystąpienia usługi Azure Managed Redis 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 często używane strategie migracji.

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

Tworzenie nowej usługi Azure Managed Redis

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

Ogólne kroki implementacji tej opcji to:

  1. Utwórz nowe wystąpienie usługi Azure Managed 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 usługi Azure Managed Redis

Usługa Redis typu open source definiuje standardowy mechanizm tworzenia migawki zestawu danych w 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. Możesz użyć pliku RDB do transferu danych z istniejącej pamięci podręcznej do usługi Azure Managed 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, z której eksportujesz pamięć podręczna Redis, powinna być równa lub mniejsza niż wersja zapewniana przez usługę Azure Managed Redis.

Ogólne kroki implementacji tej opcji to:

  1. Utwórz nowe wystąpienie usługi Azure Managed Redis o takim samym rozmiarze jak (lub większe) istniejącej pamięci podręcznej.

  2. Zapisz migawkę istniejącej pamięci podręcznej Redis. 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 / Notatka

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

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

  4. Zaimportuj plik RDB do nowej pamięci podręcznej, korzystając z tych instrukcji dotyczących importu lub polecenia cmdlet PowerShell Import.

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

Pisanie do dwóch pamięci podręcznych Redis jednocześnie podczas okresu 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ą pamięć podręczną. Załóżmy na przykład, że używasz usługi Redis jako magazynu sesji, a sesje aplikacji są ważne przez siedem dni. Po tygodniu zapisywania do dwóch pamięci podręcznych będziesz 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 usługi Azure Managed Redis o takim samym rozmiarze jak (lub większe) istniejącej pamięci podręcznej.

  2. Zmodyfikuj kod aplikacji, aby zapisywać zarówno do nowych, jak i oryginalnych instancji.

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

  4. Zaktualizuj kod aplikacji tak, aby odczytywał i zapisywał wyłącznie z nowej instancji.

  5. Usuń oryginalne wystąpienie.

Programowe migrowanie

Proces migracji niestandardowej można utworzyć programowo, odczytując dane z istniejącej pamięci podręcznej i zapisując je w usłudze Azure Managed Redis. To narzędzie typu open source może służyć do kopiowania danych z jednego wystąpienia usługi Azure Managed 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 / Notatka

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 usługi Azure Managed 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

    Upewnij się, że nie należy opróżniać 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.