Freigeben über


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

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.

  1. Wählen Sie in Ihrem App Configuration-Speicher unter Einstellungen die Option Georeplikation aus.

  2. 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.

    Screenshot der hervorgehobenen Schaltfläche „Georeplikation“ sowie Schaltfläche „Erstellen“ für ein Replikat

  3. Klicken Sie auf Erstellen.

  4. 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.

    Screenshot der Liste von Replikaten, die für den Konfigurationsspeicher erstellt wurden

Löschen eines Replikats

Führen Sie die folgenden Schritte aus, um ein Replikat im Portal zu löschen.

  1. Wählen Sie in Ihrem App Configuration-Speicher unter Einstellungen die Option Georeplikation aus.

  2. 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.

     Screenshot mit drei Punkten rechts neben dem ausgewählten Replikat mit der Option zum Löschen

  3. Überprüfen Sie den Namen des zu löschenden Replikats, und klicken Sie zur Bestätigung auf OK.

  4. 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

Nächste Schritte