Delen via


Migreren naar Azure Managed Redis vanuit andere caches

In dit artikel worden een aantal benaderingen beschreven voor het migreren van een bestaande cache die on-premises of in een andere cloudservice wordt uitgevoerd naar Azure Managed 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 met minimale onderbreking of downtime verplaatsen naar Azure Managed Redis.

Als u van de ene Azure-regio naar de andere wilt overstappen, verplaatst u Azure Managed Redis-exemplaren naar verschillende regio's.

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 data naar twee caches schrijven 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 met Azure beheerde Redis maken

Deze benadering is technisch gezien geen migratie. Als het verlies van gegevens geen probleem is, is de eenvoudigste manier om naar Azure Managed 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 Managed 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 Managed 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. U kunt een RDB-bestand gebruiken om gegevens over te dragen van een bestaande cache naar Azure Managed 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 Managed Redis.

Algemene stappen voor het implementeren van deze optie zijn:

  1. Maak een nieuw azure Managed Redis-exemplaar dat 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 .

    Opmerking

    Als u gegevens migreert in Azure Managed Redis, raadpleegt u deze instructies voor het exporteren van een RDB-bestand of gebruik 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 Managed Redis-exemplaar dat 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 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 te lezen uit een bestaande cache en deze te schrijven naar Azure Managed Redis. Dit opensource-hulpprogramma kan worden gebruikt om gegevens van het ene Azure Managed 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 migratieprogramma.

Opmerking

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 Managed 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 uit de broncache leegt.

  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.