Aktivera geo-replikering
Den här artikeln beskriver replikering av Azure App Configuration-butiker. Du lär dig hur du skapar, använder och tar bort en replik i konfigurationsarkivet.
Mer information om begreppet geo-replikering finns i Geo-replikering i Azure App Configuration.
Förutsättningar
- En Azure-prenumeration – skapa en kostnadsfritt
- Vi antar att du redan har ett appkonfigurationsarkiv. Om du vill skapa ett skapar du ett appkonfigurationsarkiv.
Skapa och lista en replik
Följ stegen nedan om du vill skapa en replik av konfigurationsarkivet i portalen.
Kommentar
Det går inte att skapa en replik för ett App Configuration Store med privata slutpunkter som konfigurerats med statisk IP. Om du föredrar en privat slutpunkt med statisk IP-konfiguration måste repliker skapas innan någon privat slutpunkt läggs till i ett arkiv.
I appkonfigurationsarkivet går du till Inställningar och väljer Geo-replikering.
Under Repliker väljer du Skapa. Välj platsen för den nya repliken i listrutan och tilldela sedan repliken ett namn. Det här repliknamnet måste vara unikt.
Välj Skapa.
Nu bör du se den nya repliken under Repliker. Kontrollera att statusen för repliken är "Lyckades", vilket anger att den har skapats.
Ta bort en replik
Följ stegen nedan om du vill ta bort en replik i portalen.
I appkonfigurationsarkivet går du till Inställningar och väljer Geo-replikering.
Under Repliker väljer du ... till höger om repliken som du vill ta bort. Välj Ta bort i listrutan.
Kontrollera namnet på repliken som ska tas bort och välj OK för att bekräfta.
När processen är klar kontrollerar du listan över repliker som rätt replik har tagits bort.
Automatisk replikidentifiering
Appkonfigurationsprovidrar kan automatiskt identifiera alla repliker från en viss appkonfigurationsslutpunkt och försöka ansluta till dem. Med den här funktionen kan du dra nytta av geo-replikering utan att behöva ändra din kod eller distribuera om programmet. Det innebär att du kan aktivera geo-replikering eller lägga till extra repliker även efter att programmet har distribuerats.
Automatisk replikidentifiering är aktiverad som standard, men du kan läsa följande exempelkod för att inaktivera den (rekommenderas inte).
Redigera anropet AddAzureAppConfiguration
till metoden, som ofta finns i filen i program.cs
ditt program.
configurationBuilder.AddAzureAppConfiguration(options =>
{
// Disable automatic replica discovery
options.ReplicaDiscoveryEnabled = false;
// Other changes to options
});
Kommentar
Stöd för automatisk replikidentifiering är tillgängligt om du använder version 7.1.0 eller senare av något av följande paket.
Microsoft.Extensions.Configuration.AzureAppConfiguration
Microsoft.Azure.AppConfiguration.AspNetCore
Microsoft.Azure.AppConfiguration.Functions.Worker
Skala och redundans med repliker
Varje replik som du skapar har sin dedikerade slutpunkt. Om ditt program finns på flera geo-platser kan du uppdatera varje distribution av ditt program på en plats för att ansluta till repliken närmare den platsen, vilket hjälper till att minimera nätverksfördröjningen mellan programmet och appkonfigurationen. Eftersom varje replik har sin separata kvot för begäran hjälper den här konfigurationen även programmets skalbarhet när den växer till en distribuerad tjänst i flera regioner.
När geo-replikering är aktiverat och om en replik inte är tillgänglig kan du låta programmet redundansväxlara till en annan replik för bättre återhämtning. Appkonfigurationsleverantörer har inbyggt stöd för redundans via repliker som tillhandahålls av användaren och/eller ytterligare automatiskt identifierade repliker. Du kan ange en lista över dina replikslutpunkter i den ordning som är mest prioriterad för den minst föredragna slutpunkten. När den aktuella slutpunkten inte är tillgänglig redundansväxlar providern till en mindre föredragen slutpunkt, men försöker ansluta till de mer föredragna slutpunkterna då och då. Om alla repliker som tillhandahålls av användaren inte är tillgängliga väljs och används automatiskt identifierade repliker slumpmässigt. När en mer föredragen slutpunkt blir tillgänglig växlar providern till den för framtida begäranden.
Förutsatt att du har ett program som använder Azure App Configuration kan du uppdatera det som följande exempelkod för att dra nytta av redundansfunktionen. Du kan antingen ange en lista över slutpunkter för Microsoft Entra-autentisering eller en lista över anslutningssträng för åtkomst till nyckelbaserad autentisering.
Redigera anropet AddAzureAppConfiguration
till metoden, som ofta finns i filen i program.cs
ditt program.
Ansluta med 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
});
Ansluta med anslutningssträng
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
});
Kommentar
Stöd för redundansväxling är tillgängligt om du använder version 6.0.0 eller senare av något av följande paket.
Microsoft.Extensions.Configuration.AzureAppConfiguration
Microsoft.Azure.AppConfiguration.AspNetCore
Microsoft.Azure.AppConfiguration.Functions.Worker
Redundansväxlingen kan inträffa om appkonfigurationsprovidern följer följande villkor.
- Tar emot svar med statusen tjänsten är inte tillgänglig (HTTP-statuskod 500 eller senare).
- Funktioner med problem med nätverksanslutning.
- Begäranden begränsas (HTTP-statuskod 429).
Redundansväxlingen sker inte för klientfel som autentiseringsfel.
Belastningsutjämning med repliker
Som standard skickar ditt program alltid begäranden till den mest föredragna slutpunkten som du anger, förutom i händelse av en redundansväxling. Men förutom redundansväxling kan repliker också användas för att balansera belastningen på begäranden. Genom att proaktivt distribuera begäranden över alla tillgängliga repliker över tid kan du undvika att uttömma begärandekvoten för en enskild replik och förbättra programmets övergripande skalbarhet.
Appkonfigurationsprovidrar erbjuder inbyggt stöd för belastningsutjämning mellan repliker, oavsett om de anges i kod eller identifieras automatiskt. Du kan använda följande kodexempel för att aktivera den här funktionen i ditt program (rekommenderas).
Redigera anropet AddAzureAppConfiguration
till metoden, som ofta finns i filen i program.cs
ditt program.
configurationBuilder.AddAzureAppConfiguration(options =>
{
// Enable load balancing
options.LoadBalancingEnabled = true;
// Other changes to options
});
Kommentar
Stöd för belastningsutjämning är tillgängligt om du använder version 8.0.0-preview.3 eller senare av något av följande paket.
Microsoft.Extensions.Configuration.AzureAppConfiguration
Microsoft.Azure.AppConfiguration.AspNetCore
Microsoft.Azure.AppConfiguration.Functions.Worker