Delen via


Migreren naar Azure Cache voor Redis

In dit artikel worden een aantal benaderingen beschreven voor het migreren van een bestaande Redis-cache die on-premises of in een andere cloudservice wordt uitgevoerd naar Azure Cache voor Redis.

Migratiescenario's

Opensource Redis kan in veel rekenomgevingen worden uitgevoerd. Veelvoorkomende voorbeelden zijn:

  • On-premises : Redis-caches die worden uitgevoerd in privédatacenters.
  • Cloud-VM's: Redis-caches die worden uitgevoerd op Azure-VM's, AWS EC2, enzovoort.
  • Hostingservices : beheerde Redis-services zoals AWS ElastiCache.

Als u een dergelijke cache hebt, kunt u deze mogelijk verplaatsen naar Azure Cache voor Redis met minimale onderbreking of downtime.

Als u van de ene Azure-regio naar de andere wilt overstappen, raden we u aan het artikel Azure Cache voor Redis instanties verplaatsen naar verschillende regio's te raadplegen.

Migratieopties

Er zijn verschillende manieren waarop u van de ene cache naar de andere kunt overschakelen. Afhankelijk van waar uw cache zich bevindt en hoe uw toepassing ermee communiceert, is de ene methode nuttiger dan de andere. Enkele van de veelgebruikte migratiestrategieën worden hieronder beschreven.

Optie Voordelen Nadelen
Een nieuwe cache maken Eenvoudigst te implementeren. U moet gegevens opnieuw invullen in de nieuwe cache, die mogelijk niet werkt met veel toepassingen.
Gegevens exporteren en importeren via RDB-bestand Compatibel met elke Redis-cache in het algemeen. Sommige gegevens kunnen verloren gaan als ze naar de bestaande cache worden geschreven nadat het RDB-bestand is gegenereerd.
Gegevens dubbel schrijven naar twee caches Geen gegevensverlies of downtime. Ononderbroken bewerkingen van de bestaande cache. Eenvoudiger testen van de nieuwe cache. Er zijn twee caches nodig voor een langere periode.
Gegevens programmatisch migreren Volledige controle over hoe gegevens worden verplaatst. Hiervoor is aangepaste code vereist.

Een nieuwe Azure Cache voor Redis maken

Deze benadering is technisch gezien geen migratie. Als het verliezen van gegevens geen probleem is, kunt u het gemakkelijkst naar Azure Cache voor Redis gaan door een cache-exemplaar te maken en uw toepassing ermee te verbinden. Als u bijvoorbeeld Redis gebruikt als een cache voor het opzoeken van databaserecords, kunt u de cache eenvoudig helemaal opnieuw opbouwen.

Algemene stappen voor het implementeren van deze optie zijn:

  1. Maak een nieuw Azure Cache voor Redis exemplaar.

  2. Werk uw toepassing bij om het nieuwe exemplaar te gebruiken.

  3. Verwijder het oude Redis-exemplaar.

Gegevens exporteren naar een RDB-bestand en importeren in Azure Cache voor Redis

Opensource Redis definieert een standaardmechanisme voor het maken van een momentopname van de gegevensset in het geheugen van een cache en deze op te slaan in een bestand. Dit bestand, RDB genoemd, kan worden gelezen door een andere Redis-cache. Azure Cache voor Redis Premium-laag ondersteunt het importeren van gegevens in een cache-exemplaar via RDB-bestanden. U kunt een RDB-bestand gebruiken om gegevens over te dragen van een bestaande cache naar Azure Cache voor Redis.

Belangrijk

RDB-bestandsindeling kan tussen Redis-versies worden gewijzigd en behoudt mogelijk geen compatibiliteit met eerdere versies. De Redis-versie van de cache waaruit u exporteert, moet gelijk zijn aan of kleiner zijn dan de versie van Azure Cache voor Redis.

Algemene stappen voor het implementeren van deze optie zijn:

  1. Maak een nieuw Azure Cache voor Redis exemplaar in de Premium-laag die even groot is als (of groter is dan) de bestaande cache.

  2. Sla een momentopname van de bestaande Redis-cache op. U kunt Redis configureren om periodiek momentopnamen op te slaan of het proces handmatig uitvoeren met de opdrachten SAVE of BGSAVE . Het RDB-bestand heet standaard dump.rdb en bevindt zich op het pad dat is opgegeven in het configuratiebestand redis.conf .

    Notitie

    Als u gegevens migreert in Azure Cache voor Redis, raadpleegt u deze instructies voor het exporteren van een RDB-bestand of gebruikt u in plaats daarvan de PowerShell Export-cmdlet.

  3. Kopieer het RDB-bestand naar een Azure-opslagaccount in de regio waarin de nieuwe cache zich bevindt. U kunt AzCopy gebruiken voor deze taak.

  4. Importeer het RDB-bestand in de nieuwe cache met behulp van deze importinstructies of de PowerShell Import-cmdlet.

  5. Werk uw toepassing bij om het nieuwe cache-exemplaar te gebruiken.

Schrijven naar twee Redis-caches tegelijk tijdens de migratieperiode

In plaats van gegevens rechtstreeks tussen caches te verplaatsen, kunt u uw toepassing gebruiken om gegevens te schrijven naar zowel een bestaande als een nieuwe cache die u instelt. De toepassing leest in eerste instantie nog steeds gegevens uit de bestaande cache. Wanneer de nieuwe cache over de benodigde gegevens beschikt, schakelt u de toepassing over naar die cache en stelt u de oude cache buiten gebruik. Stel dat u Redis gebruikt als een sessiearchief en dat de toepassingssessies zeven dagen geldig zijn. Nadat u een week naar de twee caches hebt geschreven, weet u zeker dat de nieuwe cache alle niet-verlopen sessiegegevens bevat. U kunt er vanaf dat moment veilig op vertrouwen zonder dat u zich zorgen hoeft te maken over gegevensverlies.

Algemene stappen voor het implementeren van deze optie zijn:

  1. Maak een nieuw Azure Cache voor Redis exemplaar in de Premium-laag die even groot is als (of groter is dan) de bestaande cache.

  2. Wijzig de toepassingscode om te schrijven naar zowel de nieuwe als de oorspronkelijke instantie.

  3. Ga door met het lezen van gegevens uit het oorspronkelijke exemplaar totdat het nieuwe exemplaar voldoende is gevuld met gegevens.

  4. Werk de toepassingscode bij om alleen te lezen en te schrijven vanuit het nieuwe exemplaar.

  5. Verwijder het oorspronkelijke exemplaar.

Programmatisch migreren

U kunt een aangepast migratieproces maken door programmatisch gegevens uit een bestaande cache te lezen en deze in Azure Cache voor Redis te schrijven. Dit opensource-hulpprogramma kan worden gebruikt om gegevens van het ene Azure Cache voor Redis exemplaar naar het andere te kopiëren. Er is ook een gecompileerde versie beschikbaar. Mogelijk vindt u de broncode ook een handige handleiding voor het schrijven van uw eigen migratiehulpprogramma.

Notitie

Dit hulpprogramma wordt niet officieel ondersteund door Microsoft.

Algemene stappen voor het implementeren van deze optie zijn:

  1. Maak een VM in de regio waar de bestaande cache zich bevindt. Als uw gegevensset groot is, kiest u een relatief krachtige VM om de kopieertijd te verkorten.

  2. Maak een nieuw Azure Cache voor Redis exemplaar.

  3. Gegevens uit de nieuwe cache leegmaken om ervoor te zorgen dat deze leeg zijn. Deze stap is vereist omdat het kopieerprogramma zelf geen bestaande sleutel in de doelcache overschrijft.

    Belangrijk

    Zorg ervoor dat u NIET uit de broncache wordt leeggemaakt.

  4. Gebruik een toepassing zoals het opensource-hulpprogramma hierboven om het kopiëren van gegevens uit de broncache naar het doel te automatiseren. Houd er rekening mee dat het kopiëren enige tijd kan duren, afhankelijk van de grootte van uw gegevensset.

Volgende stappen

Meer informatie over Azure Cache voor Redis functies.