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 usługi Azure Cache for 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 Cache for Redis z minimalnymi przerwami lub przestojami.
Jeśli chcesz przenieść się z jednego regionu platformy Azure do innego, zalecamy zapoznanie się z artykułem Przenoszenie wystąpień usługi Azure Cache for 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 | Wady |
---|---|---|
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 | Ogólnie jest zgodna 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. |
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 przez dłuższy czas. |
Programowe migrowanie danych | Pełna kontrola nad sposobem przenoszenia danych. | Wymaga kodu niestandardowego. |
Tworzenie nowej pamięci podręcznej Azure Cache for Redis
To podejście technicznie nie jest migracją. Jeśli utrata danych nie jest problemem, najprostszym sposobem przejścia do usługi 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 rekordów bazy danych, możesz łatwo odbudować pamięć podręczną od podstaw.
Ogólne kroki implementacji tej opcji to:
Utwórz nowe wystąpienie usługi Azure Cache for Redis.
Opcjonalnie wypróbuj nową usługę Azure Managed Redis (wersja zapoznawcza).
Zaktualizuj aplikację, aby korzystała z nowego wystąpienia.
Usuń stare wystąpienie usługi Redis.
Eksportowanie danych do pliku RDB i importowanie ich do usługi Azure Cache for 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. Warstwa Premium usługi Azure Cache for Redis 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 usługi 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, z której eksportujesz pamięć podręczna Redis, powinna być równa lub mniejsza niż wersja dostarczana przez usługę Azure Cache for Redis.
Ogólne kroki implementacji tej opcji to:
Utwórz nowe wystąpienie usługi Azure Cache for Redis w warstwie Premium o takim samym rozmiarze jak (lub większe) istniejącej pamięci podręcznej.
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 usłudze Azure Cache for Redis, zapoznaj się z tymi instrukcjami dotyczącymi eksportowania pliku RDB lub zamiast tego użyj polecenia cmdlet eksportowania programu PowerShell.
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.
Zaimportuj plik RDB do nowej pamięci podręcznej przy użyciu tych instrukcji importowania lub polecenia cmdlet importowania programu PowerShell.
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ą 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 zapisaniu do dwóch pamięci podręcznych przez tydzień 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:
Utwórz nowe wystąpienie usługi Azure Cache for Redis w warstwie Premium o takim samym rozmiarze jak (lub większe) istniejącej pamięci podręcznej.
Zmodyfikuj kod aplikacji, aby zapisywać w nowych i oryginalnych wystąpieniach.
Kontynuuj odczytywanie danych z oryginalnego wystąpienia, dopóki nowe wystąpienie nie zostanie wystarczająco wypełnione danymi.
Zaktualizuj kod aplikacji, aby odczytywał i zapisywał tylko z nowego wystąpienia.
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 Cache for Redis. To narzędzie typu open source może służyć do kopiowania danych z jednego wystąpienia usługi 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:
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.
Utwórz nowe wystąpienie usługi Azure Cache for Redis.
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.
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 usługi Azure Cache for Redis.