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. Dit zijn enkele veel voorkomende voorbeelden:

  • On-premises : Redis-caches die worden uitgevoerd in privédatacentra.
  • Cloud-VM's : Redis-caches die worden uitgevoerd op Virtuele Azure-machines, 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 Move Azure Cache voor Redis instances naar verschillende regio's te bekijken.

Migratieopties

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

Optie Voordelen Nadelen
Een nieuwe cache maken Eenvoudigste te implementeren. Gegevens opnieuw moeten worden ingevuld in de nieuwe cache, wat 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.
Dual-write-gegevens 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 verlies van gegevens geen probleem is, is de eenvoudigste manier om naar Azure Cache voor Redis te gaan door een cache-exemplaar te maken en uw toepassing er verbinding mee te maken. Als u Bijvoorbeeld Redis gebruikt als een opzoekcache van databaserecords, kunt u de cache eenvoudig opnieuw opbouwen.

Algemene stappen voor het implementeren van deze optie zijn:

  1. Maak een nieuw Azure Cache voor Redis-exemplaar.

  2. U kunt eventueel de nieuwe Azure Managed Redis (preview) uitproberen.

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

  4. 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 in-memory gegevensset van een cache en het opslaan ervan 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 van een bestaande cache over te dragen naar Azure Cache voor Redis.

Belangrijk

De RDB-bestandsindeling kan worden gewijzigd tussen Redis-versies 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 dezelfde grootte heeft als (of groter dan) de bestaande cache.

  2. Sla een momentopname van de bestaande Redis-cache op. U kunt Redis configureren om momentopnamen periodiek op te slaan of het proces handmatig uit te voeren met behulp van 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 in Azure Cache voor Redis migreert, raadpleegt u deze instructies voor het exporteren van een RDB-bestand of het gebruik van de PowerShell Export-cmdlet.

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

  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 cache 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 trekt u de oude buiten gebruik. Stel, u gebruikt Redis als sessiearchief en de toepassingssessies zijn zeven dagen geldig. 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 dezelfde grootte heeft als (of groter dan) de bestaande cache.

  2. Pas de toepassingscode aan om te schrijven naar zowel de nieuwe als de oorspronkelijke exemplaren.

  3. Lees verder met het lezen van gegevens van het oorspronkelijke exemplaar totdat het nieuwe exemplaar voldoende is gevuld met gegevens.

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

  5. Verwijder het oorspronkelijke exemplaar.

Programmatisch migreren

U kunt een aangepast migratieproces maken door programmatisch gegevens te lezen uit een bestaande cache 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 een 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 migratieprogramma.

Notitie

Dit hulpprogramma wordt niet officieel ondersteund door Microsoft.

Algemene stappen voor het implementeren van deze optie zijn:

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

  2. Maak een nieuw Azure Cache voor Redis-exemplaar.

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

    Belangrijk

    Zorg ervoor dat u niet leegmaakt uit de broncache.

  4. Gebruik een toepassing zoals het bovenstaande opensource-hulpprogramma 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.