Georeplikation – Übersicht
Anwendungsentwickler und IT-Techniker verfolgen unter anderem das gemeinsame Ziel, resiliente Anwendungen zu erstellen und auszuführen. Resilienz ist die Fähigkeit Ihrer Anwendung, auf Fehler zu reagieren und funktionsfähig zu bleiben. Der erste Schritt, um Resilienz gegenüber regionalen Ausfällen in der Cloud zu erreichen, besteht darin, für Redundanz zu sorgen, um einen Single Point of Failure zu vermeiden. Diese Redundanz kann mithilfe von Georeplikation erreicht werden.
Mit dem Georeplikationsfeature von App Configuration können Sie Ihren Konfigurationsspeicher nach Belieben in den Regionen Ihrer Wahl replizieren. Jedes neue Replikat befindet sich in einer anderen Region und stellt einen neuen Endpunkt bereit, an den Ihre Anwendungen Anforderungen senden können. Der ursprüngliche Endpunkt Ihres Konfigurationsspeichers wird als Ursprung bezeichnet. Der Ursprung kann nicht entfernt werden, verhält sich ansonsten aber wie ein Replikat.
Schlüssel-Wert-Paare können in jedem beliebigen Replikat geändert oder aktualisiert werden. Diese Änderungen werden mit allen anderen Replikaten nach einem Modell der letztlichen Konsistenz synchronisiert.
Das Replizieren Ihres Konfigurationsspeichers hat folgende zusätzliche Vorteile:
- Höhere Resilienz bei Azure-Ausfällen: Von einem regionalen Ausfall sind nur einzelne Replikate betroffen. Wenn es in einer Region zu einem Ausfall kommt, sind alle Replikate in nicht betroffenen Regionen weiterhin zugänglich und werden kontinuierlich synchronisiert. Nach Behandlung des Ausfalls werden alle betroffenen Replikate mit dem neuesten Zustand synchronisiert. Beachten Sie, dass die Georeplikation nur automatische Failoverfunktionen über Konfigurationsanbieter von App Configuration bietet. Sie können allerdings auch Ihre eigenen benutzerdefinierten Failovermechanismen in der Konfiguration Ihrer Anwendung erstellen, um zwischen verschiedenen Replikatendpunkten zu wechseln und die Auswirkungen eines Azure-Ausfalls abzuschwächen.
- Umverteilung von Anforderungsgrenzwerten: Sie können im Code anpassen, welcher Replikatendpunkt von Ihrer Anwendung verwendet wird, und so Ihre Anforderungslast verteilen, um das Erreichen von Anforderungsgrenzwerten zu vermeiden. Wenn Ihre Anwendungen also beispielsweise in mehreren Regionen ausgeführt werden und nur Anforderungen an eine einzelne Region senden, führt dies möglicherweise dazu, dass die Anforderungsgrenzwerte von App Configuration erreicht werden. Sie können diese Last umverteilen, indem Sie Replikate in den Regionen erstellen, in denen Ihre Anwendungen ausgeführt werden. Jedes Replikat verfügt über isolierte Anforderungsgrenzwerte mit der gleichen Größe wie die Anforderungsgrenzwerte des Ursprungs. Wenn die Anforderungsgrenzwerte in einem Replikat erreicht werden, hat dies keine Auswirkungen auf die Anforderungsgrenzwerte eines anderen Replikats.
- Regionale Trennung: Der Zugriff auf mehrere Regionen kann die Wartezeit zwischen Ihrem Anwendungs- und Konfigurationsspeicher verbessern, was zu schnelleren Anforderungsantworten und einer besseren Leistung führt, wenn eine Anwendung Anforderungen an das nächstgelegene Replikat sendet. Durch Angabe des Replikatzugriffs können Sie auch die Speicherung und den Fluss von Daten zwischen verschiedenen Regionen auf der Grundlage Ihrer Präferenzen einschränken.
Informationen zum Aktivieren dieses Features in Ihrem Speicher finden Sie in dem Dokument zum Aktivieren der Georeplikation.
Beispiel für einen Anwendungsfall
Ein Entwicklerteam erstellt ein System, das mehrere Anwendungen umfasst und derzeit über einen einzelnen Azure App Configuration-Speicher in der Region „USA, Westen“ verfügt. Da die Nutzung des Systems schnell zunimmt, möchte das Team das System skalieren und die Kundenanforderungen in folgenden Regionen erfüllen: „Schweden, Mitte“, „USA, Westen“, „Europa, Norden“ und „Asien, Osten“. Alle Anwendungen des Teams verwenden derzeit den Konfigurationsspeicher in der Region „USA, Westen“, wodurch ein Single Point of Failure entsteht. Wenn es in der Region „USA, Westen“ zu einem regionalen Ausfall kommt und keine anderen Failovermechanismen oder Standardverhaltensweisen vorhanden sind, ist das System für Kunden nicht verfügbar. Darüber hinaus sind alle Anwendungen derzeit global durch den Anforderungsgrenzwert eines einzelnen Konfigurationsspeichers eingeschränkt. Wenn das Team auf mehr Regionen skaliert, kann dieser Grenzwert nicht mehr eingehalten werden.
Dieses Team würde von der Georeplikation profitieren. Es kann ein Replikat des Konfigurationsspeichers in jeder Region erstellen, in der die Anwendungen ausgeführt werden. Dadurch können die Anwendungen Anforderungen an ein Replikat in der gleichen Region senden, anstatt alle Anforderungen an die Region „USA, Westen“ zu senden. Das hat zwei Vorteile: verbesserte Anforderungslatenz und bessere Lastverteilung. Eine gute Verteilung der Anforderungslast trägt dazu bei, die Erschöpfung des Anforderungskontingents zu vermeiden. Die Verfügbarkeit mehrerer Replikate ermöglicht es dem Team außerdem, die Anwendungen so zu konfigurieren, dass im Falle eines regionalen Ausfalls ein Failover ausgeführt wird. So kann das Team beispielsweise Anwendungen, die in der Region „Schweden, Mitte“ ausgeführt werden, so konfigurieren, dass sie die Konfiguration aus dieser Region pullen, aber auf die Region „Europa, Norden“ ausweichen, wenn es in der Region „Schweden, Mitte“ zu einem Ausfall kommt. Auch wenn App Configuration in einer bestimmten Region nicht verfügbar ist, wird das System des Teams dadurch nicht beeinträchtigt.
Überlegungen
- Die Georeplikation steht im Free-Tarif nicht zur Verfügung.
- Für jedes Replikat gelten Grenzwerte, wie auf der Seite App Configuration – Preise angegeben. Diese Grenzwerte sind pro Replikat isoliert.
- Azure App Configuration unterstützt auch Azure-Verfügbarkeitszonen für die Erstellung eines resilienten und hochverfügbaren Speichers innerhalb einer Azure-Region. Die Unterstützung von Verfügbarkeitszonen steht automatisch für ein Replikat zur Verfügung, wenn die Region des Replikats Verfügbarkeitszonen unterstützt. Die Kombination aus Verfügbarkeitszonen für Redundanz innerhalb einer Region und Georeplikation über mehrere Regionen hinweg verbessert sowohl die Verfügbarkeit als auch die Leistung eines Konfigurationsspeichers.
Kosten und Abrechnung
Für jedes erstellte Replikat fallen zusätzliche Gebühren an. Ausführliche Informationen finden Sie auf der Seite App Configuration – Preise. Wenn es sich bei Ihrem Ursprung also beispielsweise um einen Konfigurationsspeicher im Standard-Tarif handelt und fünf Replikate vorhanden sind, werden Ihnen für Ihr System sechs Konfigurationsspeicher im Standard-Tarif in Rechnung gestellt. In dieser Gebühr sind allerdings die isolierten Kontingente und Anforderungen der einzelnen Replikate enthalten.
Überwachung
Um einen Einblick in die Eigenschaften der Georeplikationsfunktion zu geben, bietet App Configuration eine Metrik namens Replikationslatenz. Die Replikationslatenzmetrik beschreibt, wie lange es dauert, bis Daten von einer Region in eine andere repliziert werden.
Weitere Informationen zur Replikationslatenzmetrik und anderen App Configuration-Metriken finden Sie unter Datenreferenz zur Überwachung von App Configuration.