Delen via


Geo-replicatie inschakelen

In dit artikel wordt de replicatie van Azure-app Configuratiearchieven beschreven. Meer informatie over het maken, gebruiken en verwijderen van een replica in uw configuratiearchief.

Zie Geo-replicatie in Azure-app Configuration voor meer informatie over het concept van geo-replicatie.

Vereisten

Een replica maken en weergeven

Volg de onderstaande stappen om een replica van uw configuratiearchief te maken in de portal.

Notitie

Het maken van een replica voor een App Configuration-archief met privé-eindpunten die zijn geconfigureerd met statisch IP-adres, wordt niet ondersteund. Als u de voorkeur geeft aan een privé-eindpunt met een statische IP-configuratie, moeten replica's worden gemaakt voordat een privé-eindpunt wordt toegevoegd aan een archief.

  1. Selecteer geo-replicatie in uw App Configuration-archief onder Instellingen.

  2. Selecteer Onder Replica('s) de optie Maken. Kies de locatie van de nieuwe replica in de vervolgkeuzelijst en wijs de replica een naam toe. Deze replicanaam moet uniek zijn.

    Schermopname van de knop Geo-replicatie die wordt gemarkeerd en de knop Maken voor een replica.

  3. Selecteer Maken.

  4. De nieuwe replica wordt nu weergegeven onder Replica('s). Controleer of de status van de replica geslaagd is, wat aangeeft dat de replica is gemaakt.

    Schermopname van de lijst met replica's die zijn gemaakt voor het configuratiearchief.

Een replica verwijderen

Als u een replica in de portal wilt verwijderen, volgt u de onderstaande stappen.

  1. Selecteer geo-replicatie in uw App Configuration-archief onder Instellingen.

  2. Selecteer onder Replica('s) de ... rechts van de replica die u wilt verwijderen. Selecteer Verwijderen in de vervolgkeuzelijst.

     Schermopname van de drie puntjes rechts van de replica die wordt geselecteerd, met de optie Verwijderen.

  3. Controleer de naam van de replica die moet worden verwijderd en selecteer OK om te bevestigen.

  4. Zodra het proces is voltooid, controleert u de lijst met replica's die de juiste replica heeft verwijderd.

Automatische replicadetectie

De App Configuration-providers kunnen alle replica's van een bepaald App Configuration-eindpunt automatisch detecteren en proberen verbinding te maken met deze replica's. Met deze functie kunt u profiteren van geo-replicatie zonder dat u uw code hoeft te wijzigen of uw toepassing opnieuw hoeft te implementeren. Dit betekent dat u geo-replicatie kunt inschakelen of extra replica's kunt toevoegen, zelfs nadat uw toepassing is geïmplementeerd.

Automatische replicadetectie is standaard ingeschakeld, maar u kunt de volgende voorbeeldcode raadplegen om deze uit te schakelen (niet aanbevolen).

Bewerk de aanroep naar de AddAzureAppConfiguration methode, die vaak wordt gevonden in het program.cs bestand van uw toepassing.

configurationBuilder.AddAzureAppConfiguration(options =>
{
    // Disable automatic replica discovery
    options.ReplicaDiscoveryEnabled = false;

    // Other changes to options
});

Notitie

De automatische ondersteuning voor replicadetectie is beschikbaar als u versie 7.1.0 of hoger van een van de volgende pakketten gebruikt.

  • Microsoft.Extensions.Configuration.AzureAppConfiguration
  • Microsoft.Azure.AppConfiguration.AspNetCore
  • Microsoft.Azure.AppConfiguration.Functions.Worker

Schaal en failover met replica's

Elke replica die u maakt, heeft het toegewezen eindpunt. Als uw toepassing zich op meerdere geografische locaties bevindt, kunt u elke implementatie van uw toepassing bijwerken op een locatie om verbinding te maken met de replica dichter bij die locatie, waardoor de netwerklatentie tussen uw toepassing en App Configuration wordt geminimaliseerd. Omdat elke replica een afzonderlijk aanvraagquotum heeft, helpt deze installatie ook de schaalbaarheid van uw toepassing terwijl deze groeit naar een gedistribueerde service met meerdere regio's.

Wanneer geo-replicatie is ingeschakeld en één replica niet toegankelijk is, kunt u uw toepassing failover naar een andere replica laten uitvoeren voor verbeterde tolerantie. App Configuration-providers hebben ingebouwde failoverondersteuning via door de gebruiker geleverde replica's en/of aanvullende automatisch gedetecteerde replica's. U kunt een lijst met uw replica-eindpunten opgeven in de volgorde van de meest voorkeurseindpunt naar het minst voorkeurseindpunt. Wanneer het huidige eindpunt niet toegankelijk is, voert de provider van tijd tot tijd een failover uit naar een minder voorkeurseindpunt, maar probeert het verbinding te maken met de meer voorkeurseindpunten. Als alle door de gebruiker opgegeven replica's niet toegankelijk zijn, worden de automatisch gedetecteerde replica's willekeurig geselecteerd en gebruikt. Wanneer er een meer voorkeurseindpunt beschikbaar komt, schakelt de provider over naar het eindpunt voor toekomstige aanvragen.

Ervan uitgaande dat u een toepassing hebt met behulp van Azure-app Configuration, kunt u deze bijwerken als de volgende voorbeeldcode om te profiteren van de failoverfunctie. U kunt een lijst met eindpunten opgeven voor Microsoft Entra-verificatie of een lijst met verbindingsreeks s voor verificatie op basis van toegangssleutels.

Bewerk de aanroep naar de AddAzureAppConfiguration methode, die vaak wordt gevonden in het program.cs bestand van uw toepassing.

Verbinding maken met Microsoft Entra-id

configurationBuilder.AddAzureAppConfiguration(options =>
{
    // Provide an ordered list of replica endpoints
    var endpoints = new Uri[] {
        new Uri("<first-replica-endpoint>"),
        new Uri("<second-replica-endpoint>") };
    
    // Connect to replica endpoints using Microsoft Entra authentication
    options.Connect(endpoints, new DefaultAzureCredential());

    // Other changes to options
});

Verbinding maken met verbindingsreeks

configurationBuilder.AddAzureAppConfiguration(options =>
{
    // Provide an ordered list of replica connection strings
    var connectionStrings = new string[] {
        Environment.GetEnvironmentVariable("FIRST_REPLICA_CONNECTION_STRING"),
        Environment.GetEnvironmentVariable("SECOND_REPLICA_CONNECTION_STRING") };
    
    // Connect to replica endpoints using connection strings
    options.Connect(connectionStrings);

    // Other changes to options
});

Notitie

De failover-ondersteuning is beschikbaar als u versie 6.0.0 of hoger van een van de volgende pakketten gebruikt.

  • Microsoft.Extensions.Configuration.AzureAppConfiguration
  • Microsoft.Azure.AppConfiguration.AspNetCore
  • Microsoft.Azure.AppConfiguration.Functions.Worker

De failover kan optreden als de App Configuration-provider de volgende voorwaarden in acht neemt.

  • Ontvangt antwoorden met servicestatus niet beschikbaar (HTTP-statuscode 500 of hoger).
  • Ervaringen met netwerkverbindingsproblemen.
  • Aanvragen worden beperkt (HTTP-statuscode 429).

De failover vindt niet plaats voor clientfouten, zoals verificatiefouten.

Taakverdeling met replica's

Uw toepassing verzendt standaard altijd aanvragen naar het meest gewenste eindpunt dat u opgeeft, behalve in het geval van een failover. Naast failover kunnen replica's echter ook worden gebruikt om de belasting van aanvragen te verdelen. Door aanvragen proactief te distribueren over alle beschikbare replica's in de loop van de tijd, kunt u het aanvraagquotum van één replica vermijden en de algehele schaalbaarheid van uw toepassing verbeteren.

De App Configuration-providers bieden ingebouwde ondersteuning voor taakverdeling tussen replica's, ongeacht of deze in code zijn opgegeven of automatisch worden gedetecteerd. U kunt de volgende codevoorbeelden gebruiken om deze functie in te schakelen in uw toepassing (aanbevolen).

Bewerk de aanroep naar de AddAzureAppConfiguration methode, die vaak wordt gevonden in het program.cs bestand van uw toepassing.

configurationBuilder.AddAzureAppConfiguration(options =>
{
    // Enable load balancing
    options.LoadBalancingEnabled = true;

    // Other changes to options
});

Notitie

Ondersteuning voor taakverdeling is beschikbaar als u versie 8.0.0.preview.3 of hoger van een van de volgende pakketten gebruikt.

  • Microsoft.Extensions.Configuration.AzureAppConfiguration
  • Microsoft.Azure.AppConfiguration.AspNetCore
  • Microsoft.Azure.AppConfiguration.Functions.Worker

Volgende stappen