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 standaardbandbreedtetarieven.
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 RediSearch - en RedisJSON-modules 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
FLUSHALL
opdrachten enFLUSHDB
Redis-opdrachten 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. - De E1-SKU biedt geen ondersteuning voor actieve geo-replicatie.
Een actieve geo-replicatiegroep maken of eraan deelnemen
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 in Enterprise 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 te voltooien.
Wacht tot de eerste cache is gemaakt. Als u klaar bent, ziet u geconfigureerde set 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.
Forceren ontkoppelen als er een regio-storing 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.
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 bevatten.
Ga naar Azure Portal en selecteer een van de caches in de replicatiegroep die nog steeds beschikbaar is.
Selecteer deze optie om geo-replicatie in het menu Resource aan de linkerkant te activeren om de instellingen in het werkvenster weer te geven.
Selecteer de cache die u nodig hebt om de koppeling af te dwingen door het selectievakje in te schakelen.
Selecteer Forceren ontkoppelen en vervolgens OK om te bevestigen.
Zodra de beschikbaarheid van de betrokken 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 voor 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/34b6ecbd-ab5c-4768-b0b8-bf587aba80f6/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 --linked-databases
parameter. De id heeft de volgende 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/34b6ecbd-ab5c-4768-b0b8-bf587aba80f6/resourceGroups/myResourceGroup/providers/Microsoft.Cache/redisEnterprise/Cache1/databases/default" --linked-databases id="/subscriptions/34b6ecbd-ab5c-4768-b0b8-bf587aba80f6/resourceGroups/myResourceGroup/providers/Microsoft.Cache/redisEnterprise/Cache2/databases/default"
Net als voorheen moet u zowel Cache1 als Cache2 vermelden met behulp van de --linked-databases
parameter.
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/34b6ecbd-ab5c-4768-b0b8-bf587aba80f6/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 -LinkedDatabase
parameter. De id heeft de volgende 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. de twee caches, Cache1 en Cache2, worden gekoppeld in een actief-actief-configuratie.
New-AzRedisEnterpriseCache -Name "Cache2" -ResourceGroupName "myResourceGroup" -Location "West US" -Sku "Enterprise_E10" -GroupNickname "replicationGroup" -LinkedDatabase '{id:"/subscriptions/34b6ecbd-ab5c-4768-b0b8-bf587aba80f6/resourceGroups/myResourceGroup/providers/Microsoft.Cache/redisEnterprise/Cache1/databases/default"}', '{id:"/subscriptions/34b6ecbd-ab5c-4768-b0b8-bf587aba80f6/resourceGroups/myResourceGroup/providers/Microsoft.Cache/redisEnterprise/Cache2/databases/default"}'
Net als voorheen moet u zowel Cache1 als Cache2 vermelden met behulp van de -LinkedDatabase
parameter.
Instanties schalen in een geo-replicatiegroep
Het is mogelijk om exemplaren 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 wordt het beschikbare geheugen beperkt tot de oorspronkelijke grootte totdat de andere exemplaren ook omhoog worden geschaald. En eventuele 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 zodra Redis01
deze wordt geschaald of Redis02
wordt geschaald als enterprise E20.
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 |
Bewerking leegmaken
Vanwege het potentieel voor onbedoeld gegevensverlies, kunt u de FLUSHALL
opdrachten en FLUSHDB
Redis-opdrachten niet gebruiken met een cache-exemplaar dat zich in een geo-replicatiegroep bevindt. Gebruik in plaats daarvan de knop Cache(s) leegmaken boven aan het werkvenster Actieve geo-replicatie .
Caches leegmaken met behulp van Azure CLI of PowerShell
De Azure CLI en PowerShell kunnen ook worden gebruikt om een leeggemaakte bewerking te activeren. Zie az redisenterprise database flush 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 leegmaken . Als u de knop selecteert, worden alle gegevens uit de huidige cache en uit ALLE gekoppelde caches in de geo-replicatiegroep verwijderd.
Toegang tot de functie beheren met behulp van op rollen gebaseerd toegangsbeheer van Azure. Alleen geautoriseerde gebruikers moeten toegang krijgen om alle caches leeg te maken.
Volgende stappen
Meer informatie over Azure Cache voor Redis functies.