Aktivieren der Georeplikation
In diesem Artikel wird die Replikation von Azure App Configuration-Speichern behandelt. Sie erfahren, wie Sie ein Replikat in Ihrem Konfigurationsspeicher erstellen, verwenden und löschen.
Weitere Informationen zum Konzept der Georeplikation finden Sie unter Georeplikation in Azure App Configuration.
Voraussetzungen
- Azure-Abonnement: Kostenloses Azure-Konto
- Wir gehen davon aus, dass Sie bereits über einen App Configuration-Speicher verfügen. Wenn Sie einen erstellen möchten, erstellen Sie einen App Configuration-Speicher.
Erstellen und Auflisten eines Replikats
Führen Sie die folgenden Schritte aus, um ein Replikat Ihres Konfigurationsspeichers im Portal zu erstellen.
Hinweis
Das Erstellen eines Replikats für einen App Configuration-Speicher mit privaten Endpunkten, die mit statischer IP-Adresse konfiguriert sind, wird nicht unterstützt. Wenn Sie einen privaten Endpunkt mit statischer IP-Konfiguration bevorzugen, müssen Replikate erstellt werden, bevor ein privater Endpunkt einem Speicher hinzugefügt wird.
Wählen Sie in Ihrem App Configuration-Speicher unter Einstellungen die Option Georeplikation aus.
Wählen Sie unter Replikat(e) die Option Erstellen aus. Wählen Sie den Speicherort Ihres neuen Replikats in der Dropdownliste aus, und weisen Sie dem Replikat einen Namen zu. Dieser Replikatname muss eindeutig sein.
Klicken Sie auf Erstellen.
Ihr neues Replikat sollte jetzt unter „Replikat(e)“ aufgeführt werden. Überprüfen Sie, ob der Status des Replikats „Erfolgreich“ lautet und es somit erfolgreich erstellt wurde.
Löschen eines Replikats
Führen Sie die folgenden Schritte aus, um ein Replikat im Portal zu löschen.
Wählen Sie in Ihrem App Configuration-Speicher unter Einstellungen die Option Georeplikation aus.
Wählen Sie unter Replikat(e) das Zeichen ... rechts neben dem Replikat aus, das Sie löschen möchten. Wählen Sie im Dropdownmenü den Befehl Löschen aus.
Überprüfen Sie den Namen des zu löschenden Replikats, und klicken Sie zur Bestätigung auf OK.
Nachdem der Vorgang abgeschlossen wurde, stellen Sie in der Liste der Replikate sicher, dass das richtige Replikat gelöscht wurde.
Automatische Replikatermittlung
Die App Configuration-Anbieter können automatisch alle Replikate eines bestimmten App Configuration-Endpunkts ermitteln und versuchen, eine Verbindung mit diesen herzustellen. Mit diesem Feature können Sie von der Georeplikation profitieren, ohne Ihren Code ändern oder Ihre Anwendung erneut bereitstellen zu müssen. Das bedeutet, dass Sie die Georeplikation aktivieren oder zusätzliche Replikate hinzufügen können, auch nachdem Ihre Anwendung bereitgestellt wurde.
Die automatische Replikatermittlung ist standardmäßig aktiviert, Sie können jedoch auf den folgenden Beispielcode verweisen, um sie zu deaktivieren (nicht empfohlen).
Bearbeiten Sie den Aufruf der Methode AddAzureAppConfiguration
, die sich häufig in der Datei program.cs
Ihrer Anwendung befindet.
configurationBuilder.AddAzureAppConfiguration(options =>
{
// Disable automatic replica discovery
options.ReplicaDiscoveryEnabled = false;
// Other changes to options
});
Hinweis
Die Unterstützung für die automatische Replikatermittlung ist verfügbar, wenn Sie Version 7.1.0 oder höher von einem der folgenden Pakete verwenden.
Microsoft.Extensions.Configuration.AzureAppConfiguration
Microsoft.Azure.AppConfiguration.AspNetCore
Microsoft.Azure.AppConfiguration.Functions.Worker
Skalieren und Failover mit Replikaten
Jedes Replikat, das Sie erstellen, besitzt einen dedizierten Endpunkt. Wenn sich Ihre Anwendung an mehreren Geostandorten (Geolocations) befindet, können Sie jede Bereitstellung Ihrer Anwendung an einem Standort so aktualisieren, dass eine Verbindung mit dem Replikat hergestellt wird, das dem Standort näher liegt, wodurch die Netzwerkwartezeiten zwischen Ihrer Anwendung und App Configuration minimiert werden. Da jedes Replikat über ein separates Anforderungskontingent verfügt, hilft dieses Setup auch bei der Skalierbarkeit Ihrer Anwendung, während sie sich zu einem über mehrere Regionen verteilten Dienst entwickelt.
Wenn Georeplikation aktiviert ist, und wenn ein Replikat nicht zugänglich ist, können Sie ein Failover Ihrer Anwendung auf ein anderes Replikat durchführen, um die Resilienz zu verbessern. App Configuration-Anbieter verfügen über integrierte Failoverunterstützung durch benutzerseitig bereitgestellte Replikate und/oder zusätzliche automatisch ermittelte Replikate. Sie können eine Liste Ihrer Replikatendpunkte in der Reihenfolge vom bevorzugtesten Endpunkt bis hin zum am wenigsten bevorzugten Endpunkt bereitstellen. Wenn der aktuelle Endpunkt nicht zugänglich ist, führt der Anbieter ein Failover auf einen weniger bevorzugten Endpunkt durch, versucht aber hin und wieder, eine Verbindung mit den bevorzugteren Endpunkten herzustellen. Wenn auf keins der vom Benutzer bereitgestellten Replikate zugegriffen werden kann, werden die automatisch ermittelten Replikate zufällig ausgewählt und verwendet. Wenn ein bevorzugter Endpunkt verfügbar wird, wechselt der Anbieter für zukünftige Anforderungen zu diesem Endpunkt.
Angenommen, Sie verfügen über eine Anwendung mit Azure App Configuration, dann können Sie diese wie im folgenden Beispielcode aktualisieren, um die Vorteile der Failoverfunktion zu nutzen. Sie können entweder eine Liste mit Endpunkten für die Microsoft Entra-Authentifizierung oder eine Liste mit Verbindungszeichenfolgen für die Authentifizierung auf Basis eines Zugriffsschlüssels bereitstellen.
Bearbeiten Sie den Aufruf der Methode AddAzureAppConfiguration
, die sich häufig in der Datei program.cs
Ihrer Anwendung befindet.
Verbinden mit 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
});
Verbinden mit einer Verbindungszeichenfolge
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
});
Hinweis
Die Failoverunterstützung ist verfügbar, wenn Sie Version 6.0.0 oder höher eines der folgenden Pakete verwenden.
Microsoft.Extensions.Configuration.AzureAppConfiguration
Microsoft.Azure.AppConfiguration.AspNetCore
Microsoft.Azure.AppConfiguration.Functions.Worker
Das Failover kann auftreten, wenn der App Configuration-Anbieter die folgenden Zustände beobachtet.
- Empfängt Antworten mit Status „Dienst nicht verfügbar“ (HTTP-Statuscode 500 oder höher).
- Auftreten von Netzwerkkonnektivitätsproblemen.
- Anforderungen werden gedrosselt (HTTP-Statuscode 429).
Das Failover erfolgt nicht bei Clientfehlern wie Authentifizierungsfehlern.
Lastenausgleich mit Replikaten
Standardmäßig sendet Ihre Anwendung immer Anforderungen an den von Ihnen bereitgestellten bevorzugten Endpunkt, außer im Falle eines Failovers. Zusätzlich zum Failover können Replikate jedoch auch verwendet werden, um die Last der Anforderungen auszugleichen. Durch die proaktive Verteilung von Anforderungen auf alle verfügbaren Replikate im Laufe der Zeit können Sie vermeiden, dass das Anforderungskontingent eines einzelnen Replikats ausgeschöpft wird, und die allgemeine Skalierbarkeit Ihrer Anwendung verbessern.
Die App Configuration-Anbieter bieten integrierte Unterstützung für den Lastenausgleich über Replikate hinweg, unabhängig davon, ob sie im Code bereitgestellt oder automatisch ermittelt werden. Sie können die folgenden Codebeispiele verwenden, um dieses Feature in Ihrer Anwendung zu aktivieren (empfohlen).
Bearbeiten Sie den Aufruf der Methode AddAzureAppConfiguration
, die sich häufig in der Datei program.cs
Ihrer Anwendung befindet.
configurationBuilder.AddAzureAppConfiguration(options =>
{
// Enable load balancing
options.LoadBalancingEnabled = true;
// Other changes to options
});
Hinweis
Die Lastenausgleichsunterstützung ist verfügbar, wenn Sie Version 8.0.0-preview.3 oder höher eines der folgenden Pakete verwenden.
Microsoft.Extensions.Configuration.AzureAppConfiguration
Microsoft.Azure.AppConfiguration.AspNetCore
Microsoft.Azure.AppConfiguration.Functions.Worker