Actieve geo-replicatie configureren voor Enterprise Azure Cache voor Redis-exemplaren
In dit artikel leert u hoe u een actieve geo-gerepliceerde cache configureert met behulp van Azure Portal.
Actieve geo-replicatie groepeert maximaal vijf exemplaren van Enterprise Azure Cache voor Redis in één cache die zich in Azure-regio's bevindt. Alle exemplaren fungeren als de lokale, primaire caches. Een toepassing bepaalt welke instanties of exemplaren moeten worden gebruikt voor lees- en schrijfaanvragen.
Notitie
Gegevensoverdracht tussen Azure-regio's wordt in rekening gebracht tegen de standaard bandbreedtetarieven.
Bereik van beschikbaarheid
Laag | Basic, Standard | Premium | Enterprise, Enterprise Flash |
---|---|---|---|
Beschikbaar | Nee | No | Ja |
De Premium-laag van Azure Cache voor Redis biedt een versie van geo-replicatie genaamd passieve geo-replicatie. Passieve geo-replicatie biedt een actief-passieve configuratie.
Vereisten voor actieve geo-replicatie
Er zijn enkele beperkingen bij het gebruik van actieve geo-replicatie:
- Alleen de modules RediSearch en RedisJSON worden ondersteund
- In de Enterprise Flash-laag kan alleen het verwijderingsbeleid zonder verwijdering worden gebruikt. Alle verwijderingsbeleidsregels worden ondersteund op de Enterprise-laag .
- Gegevenspersistentie wordt niet ondersteund omdat actieve geo-replicatie een superieure ervaring biedt.
- U kunt geen bestaande cache (dat wil gezegd, actieve) cache toevoegen aan een geo-replicatiegroep. U kunt alleen een cache toevoegen aan een geo-replicatiegroep wanneer u de cache maakt.
- Alle caches binnen een geo-replicatiegroep moeten dezelfde configuratie hebben. Alle caches moeten bijvoorbeeld dezelfde SKU, capaciteit, verwijderingsbeleid, clusterbeleid, modules en TLS-instelling hebben.
- U kunt de Redis-opdrachten
FLUSHALL
enFLUSHDB
niet gebruiken wanneer u actieve geo-replicatie gebruikt. Het verbieden van de opdrachten voorkomt onbedoelde verwijdering van gegevens. Gebruik in plaats daarvan de bewerking Leegmaken vanuit de portal. - Actieve geo-replicatie wordt niet ondersteund op E1 en eventuele Flash-SKU's.
Een actieve geo-replicatiegroep maken of er lid van worden
Wanneer u een nieuwe Azure Cache voor Redis resource maakt, selecteert u het tabblad Geavanceerd. Vul het eerste deel van het formulier in, inclusief clusterbeleid. Zie Clustering voor meer informatie over het kiezen van Clustering-beleid.
Selecteer Configureren om Actieve geo-replicatie in te stellen.
Maak een nieuwe replicatiegroep voor een eerste cache-exemplaar. Of selecteer een bestaande in de lijst.
Selecteer Configureren om het te voltooien.
Wacht tot de eerste cache is gemaakt. Als u klaar bent, wordt Geconfigureerd weergegeven voor Actieve geo-replicatie. Herhaal de bovenstaande stappen voor elk cache-exemplaar in de geo-replicatiegroep.
Verwijderen uit een actieve geo-replicatiegroep
Als u een cache-exemplaar uit een actieve geo-replicatiegroep wilt verwijderen, verwijdert u het exemplaar. De resterende exemplaren worden vervolgens automatisch opnieuw geconfigureerd.
Ontkoppelen forceren als er een regiostoring is
Als een van de caches in uw replicatiegroep niet beschikbaar is vanwege een storing in de regio, kunt u de niet-beschikbare cache geforceerd verwijderen uit de replicatiegroep. Nadat u geforceerde ontkoppeling hebt toegepast op een cache, kunt u geen gegevens synchroniseren die naar die cache worden geschreven na geforceerde ontkoppeling.
Verwijder de niet-beschikbare cache omdat de resterende caches in de replicatiegroep beginnen met het opslaan van de metagegevens die niet zijn gedeeld met de niet-beschikbare cache. Als dit gebeurt, kunnen de beschikbare caches in uw replicatiegroep onvoldoende geheugen hebben.
Ga naar Azure Portal en selecteer een van de caches in de replicatiegroep die nog steeds beschikbaar is.
Selecteer Actieve geo-replicatie in het menu Resource aan de linkerkant om de instellingen in het werkvenster weer te geven.
Selecteer de cache die u geforceerd wilt ontkoppelen door het selectievakje in te schakelen.
Selecteer Geforceerd ontkoppelen en vervolgens OK om te bevestigen.
Zodra de beschikbaarheid van de getroffen regio is hersteld, moet u de betreffende cache verwijderen en opnieuw maken om deze weer toe te voegen aan uw replicatiegroep.
Actieve geo-replicatie instellen met behulp van de Azure CLI of PowerShell
Azure-CLI
Gebruik de Azure CLI om een nieuwe cache en geo-replicatiegroep te maken of om een nieuwe cache toe te voegen aan een bestaande geo-replicatiegroep. Zie az redisenterprise create meer informatie.
Een nieuw Enterprise-exemplaar maken in een nieuwe geo-replicatiegroep met behulp van Azure CLI
In dit voorbeeld wordt een nieuw Azure Cache voor Redis Enterprise E10-cache-exemplaar met de naam Cache1 gemaakt in de regio VS - oost. Vervolgens wordt de cache toegevoegd aan een nieuwe actieve geo-replicatiegroep met de naam replicationGroup:
az redisenterprise create --location "East US" --cluster-name "Cache1" --sku "Enterprise_E10" --resource-group "myResourceGroup" --group-nickname "replicationGroup" --linked-databases id="/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myResourceGroup/providers/Microsoft.Cache/redisEnterprise/Cache1/databases/default"
Als u actieve geo-replicatie correct wilt configureren, moet de id van het cache-exemplaar dat wordt gemaakt, worden toegevoegd met de parameter --linked-databases
. De id heeft deze indeling:
/subscriptions/<your-subscription-ID>/resourceGroups/<your-resource-group-name>/providers/Microsoft.Cache/redisEnterprise/<your-cache-name>/databases/default
Een nieuw Enterprise-exemplaar maken in een bestaande geo-replicatiegroep met behulp van Azure CLI
In dit voorbeeld wordt een nieuw enterprise E10-cache-exemplaar gemaakt met de naam Cache2 in de regio VS - west. Vervolgens voegt het script de cache toe aan de replicationGroup
actieve geo-replicatiegroep die in een vorige procedure is gemaakt. Op deze manier wordt deze gekoppeld in een actief-actief-configuratie met Cache1.
az redisenterprise create --location "West US" --cluster-name "Cache2" --sku "Enterprise_E10" --resource-group "myResourceGroup" --group-nickname "replicationGroup" --linked-databases id="/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myResourceGroup/providers/Microsoft.Cache/redisEnterprise/Cache1/databases/default" --linked-databases id="/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myResourceGroup/providers/Microsoft.Cache/redisEnterprise/Cache2/databases/default"
Net als voorheen moet u zowel Cache1 als Cache2 vermelden met behulp van de parameter --linked-databases
.
Azure PowerShell
Gebruik Azure PowerShell om een nieuwe cache en geo-replicatiegroep te maken of om een nieuwe cache toe te voegen aan een bestaande geo-replicatiegroep. Zie New-AzRedisEnterpriseCache voor meer informatie.
Een nieuw Enterprise-exemplaar maken in een nieuwe geo-replicatiegroep met behulp van PowerShell
In dit voorbeeld wordt een nieuw Azure Cache voor Redis Enterprise E10-cache-exemplaar met de naam Cache1 gemaakt in de regio VS - oost. Vervolgens wordt de cache toegevoegd aan een nieuwe actieve geo-replicatiegroep met de naam replicationGroup:
New-AzRedisEnterpriseCache -Name "Cache1" -ResourceGroupName "myResourceGroup" -Location "East US" -Sku "Enterprise_E10" -GroupNickname "replicationGroup" -LinkedDatabase '{id:"/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myResourceGroup/providers/Microsoft.Cache/redisEnterprise/Cache1/databases/default"}'
Als u actieve geo-replicatie correct wilt configureren, moet de id van het cache-exemplaar dat wordt gemaakt, worden toegevoegd met de parameter -LinkedDatabase
. De id heeft deze indeling:
/subscriptions/<your-subscription-ID>/resourceGroups/<your-resource-group-name>/providers/Microsoft.Cache/redisEnterprise/<your-cache-name>/databases/default
Een nieuw Enterprise-exemplaar maken in een bestaande geo-replicatiegroep met behulp van PowerShell
In dit voorbeeld wordt een nieuw enterprise E10-cache-exemplaar gemaakt met de naam Cache2 in de regio VS - west. Vervolgens voegt het script de cache toe aan de actieve geo-replicatiegroep replicationGroup die in de vorige procedure is gemaakt. Nadat de opdracht is uitgevoerd, worden de twee caches, Cache1 en Cache2, gekoppeld in een actief-actief-configuratie.
New-AzRedisEnterpriseCache -Name "Cache2" -ResourceGroupName "myResourceGroup" -Location "West US" -Sku "Enterprise_E10" -GroupNickname "replicationGroup" -LinkedDatabase '{id:"/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myResourceGroup/providers/Microsoft.Cache/redisEnterprise/Cache1/databases/default"}', '{id:"/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myResourceGroup/providers/Microsoft.Cache/redisEnterprise/Cache2/databases/default"}'
Net als voorheen moet u zowel Cache1 als Cache2 vermelden met behulp van de parameter -LinkedDatabase
.
Instanties schalen in een geo-replicatiegroep
Het is mogelijk om instanties te schalen die zijn geconfigureerd voor het gebruik van actieve geo-replicatie. Een geo-replicatiegroep met een combinatie van verschillende cachegrootten kan echter problemen veroorzaken. Om te voorkomen dat deze problemen optreden, moeten alle caches in een geo-replicatiegroep dezelfde grootte en capaciteit hebben.
Omdat het moeilijk is om alle exemplaren in de geo-replicatiegroep tegelijkertijd te schalen, heeft Azure Cache voor Redis een vergrendelingsmechanisme. Als u één exemplaar in een geo-replicatiegroep schaalt, wordt de onderliggende VM geschaald, maar het beschikbare geheugen wordt beperkt tot de oorspronkelijke grootte totdat de andere exemplaren ook omhoog worden geschaald. Alle andere schaalbewerkingen voor de resterende exemplaren worden vergrendeld totdat ze overeenkomen met dezelfde configuratie als de eerste cache die moet worden geschaald.
Voorbeeld van schalen
U hebt bijvoorbeeld drie exemplaren in uw geo-replicatiegroep, alle Enterprise E10-exemplaren:
Exemplaarnaam | Redis00 | Redis01 | Redis02 |
---|---|---|---|
Type | Enterprise E10 | Enterprise E10 | Enterprise E10 |
Stel dat u elke instantie in deze geo-replicatiegroep omhoog wilt schalen naar een Enterprise E20-exemplaar. U schaalt eerst een van de caches naar een E20:
Exemplaarnaam | Redis00 | Redis01 | Redis02 |
---|---|---|---|
Type | Enterprise E20 | Enterprise E10 | Enterprise E10 |
Op dit moment kunnen de Redis01
exemplaren Redis02
alleen omhoog worden geschaald naar een Enterprise E20-exemplaar. Alle andere schaalbewerkingen worden geblokkeerd.
Notitie
Het Redis00
exemplaar kan op dit moment niet verder worden geschaald. Maar het wordt geblokkeerd als het Redis01
een enterprise E20 is of Redis02
wordt geschaald.
Zodra elk exemplaar is geschaald naar dezelfde laag en grootte, worden alle schaalvergrendelingen verwijderd:
Exemplaarnaam | Redis00 | Redis01 | Redis02 |
---|---|---|---|
Type | Enterprise E20 | Enterprise E20 | Enterprise E20 |
Afboekbewerking
Vanwege het potentieel voor onbedoeld gegevensverlies, kunt u de Redis-opdrachten FLUSHALL
en FLUSHDB
niet gebruiken met een cache-exemplaar dat zich in een geo-replicatiegroep bevindt. Gebruik in plaats daarvan de knop Cache(s) afboeken boven aan het werkvenster Actieve geo-replicatie .
Metrische gegevens over geo-replicatie
De meetwaarde Geo-replicatie in orde in de Enterprise-laag van Azure Cache voor Redis helpt bij het bewaken van de status van geo-gerepliceerde clusters. U gebruikt deze metrische waarde om de synchronisatiestatus tussen geo-replica's te bewaken.
Ga als volgende te werk om de metrische gegevens georeplicatie in orde te bewaken in Azure Portal:
Open Azure Portal en selecteer uw Azure Cache voor Redis exemplaar.
Selecteer in het menu Resource de optie Metrische gegevens onder de sectie Bewaking .
Selecteer Metrische gegevens toevoegen en selecteer de metrische waarde Geo-replicatie in orde.
Pas, indien nodig, filters toe voor specifieke geo-replica's.
U kunt een waarschuwing configureren om u op de hoogte te stellen als de metrische waarde Geo-replicatie in orde gedurende meer dan 60 minuten continu een beschadigde waarde (0) verzendt.
Selecteer Nieuwe waarschuwingsregel.
Definieer de voorwaarde die moet worden geactiveerd als de metrische waarde minimaal 60 minuten 0 is, de aanbevolen tijd.
Voeg actiegroepen toe voor meldingen, bijvoorbeeld e-mail, sms en anderen.
Sla de waarschuwing op.
Zie de sectie Waarschuwingen bewaken in Redis-cache voor meer informatie over het instellen van waarschuwingen voor uw Redis Enterprise-cache.
Belangrijk
Deze metrische waarde kan tijdelijk als beschadigd worden weergegeven vanwege routinebewerkingen zoals onderhoudsgebeurtenissen of schalen, geïnitieerd door Azure of de klant. Om valse waarschuwingen te voorkomen, raden we u aan om een observatievenster van 60 minuten in te stellen, waarbij de metrische waarde niet in orde blijft als de juiste tijd voor het genereren van een waarschuwing, omdat dit kan duiden op een probleem waarvoor interventie is vereist.
Veelvoorkomende problemen aan de clientzijde die synchronisatieproblemen tussen geo-replica's kunnen veroorzaken
Gebruik van aangepaste hash-tags: het gebruik van aangepaste hashtags in Redis kan leiden tot ongelijke distributie van gegevens tussen shards, wat prestatieproblemen en synchronisatieproblemen in geo-replica's kan veroorzaken, dus vermijd het gebruik van aangepaste hashtags, tenzij de database meerdere sleutelbewerkingen moet uitvoeren.
Grote sleutelgrootte: grote sleutels kunnen synchronisatieproblemen tussen geo-replica's maken. Voor een soepele prestaties en betrouwbare replicatie raden we u aan sleutelgrootten onder de 500 MB te houden bij het gebruik van geo-replicatie. Als de grootte van afzonderlijke sleutels bijna 2 GB groot is, ondervindt de cache problemen met de status van geo-replicatie.
Caches afboeken met behulp van Azure CLI of PowerShell
De Azure CLI en PowerShell kunnen ook worden gebruikt om een afboekbewerking te activeren. Zie az redisenterprise database afboeken voor meer informatie over het gebruik van Azure CLI. Zie Invoke-AzRedisEnterpriseCacheDatabaseFlush voor meer informatie over het gebruik van PowerShell.
Belangrijk
Wees voorzichtig bij het gebruik van de functie Caches afboeken. Als u de knop selecteert, worden alle gegevens uit de huidige cache en uit ALLE gekoppelde caches in de geo-replicatiegroep verwijderd.
Beheer toegang tot de functie met behulp van op rollen gebaseerd toegangsbeheer van Azure. Alleen geautoriseerde gebruikers moeten toegang krijgen om alle caches af te boeken.
Volgende stappen
Meer informatie over Azure Cache voor Redis functies.