Cosmos braucht mehrere Schreibregionen? Multi-Region Writes konfigurieren

Veröffentlicht am:

Eine App läuft in den USA und Europa, ihre Datenbank akzeptiert Schreibzugriffe aber nur in West US 2. Jede europäische Änderung überquert den Atlantik und braucht dadurch länger. Multi-region writes lässt regionale App-Instanzen in eine nahe Cosmos-DB-Region schreiben, während Cosmos DB die Änderungen zwischen den Regionen repliziert.

Verwende cosmos-ctappeus in rg-cloudtrips-cosmos-test-eus aus dem Trip zur Kontoerstellung. Behalte Provisioned throughput und Session aus dem Konsistenz-Trip. Diese Übung konfiguriert das Konto vollständig im Portal.

West Europe hinzufügen

Öffne zuerst Overview → Total throughput limit oder Settings → Account Throughput. Wähle ein benutzerdefiniertes Limit von 2000 RU/s, prüfe die Kostenschätzung und speichere. Das Autoscale-Maximum des vorhandenen Containers beträgt 1000 RU/s je Region; zwei Regionen zählen daher als 2000 RU/s gegen dieses Limit. Ist die Regionserstellung bereits am 1000-RU/s-Limit gescheitert, wiederhole sie nach dem Speichern. Weitere Container erhöhen das erforderliche Limit. Kapazität oberhalb der Free-Tier-Freimenge kann Kosten verursachen.

Öffne cosmos-ctappeus → Replicate data globally → Manage regions beziehungsweise Add region. Behalte West US 2, ergänze West Europe, lasse Verfügbarkeitszonen für die Übung deaktiviert und wähle Save. Prüfe die zusätzlichen regionalen Durchsatz- und Speicherkosten und warte auf den Abschluss der Bereitstellung.

Globale Cosmos-DB-Replikation mit West US 2 als Schreibregion und West Europe als Leseregion

Prüfe, dass West Europe als Leseregion verfügbar ist und West US 2 die Schreibregion bleibt. Cosmos DB kopiert bestehende Datenbanken und Container automatisch; appdb/products gehört in beiden Regionen zum selben Konto.

Schreiben in beiden Regionen aktivieren

Aktiviere unter Replicate data globally → Configuration die Option Multi-region writes. Prüfe und bestätige die Preisänderung, speichere gegebenenfalls und warte auf den Abschluss. Öffne die Seite erneut.

Globale Cosmos-DB-Replikation mit aktivierten Multi-region writes und West US 2 sowie West Europe als Lese- und Schreibregionen

Prüfe, dass Multi-region writes aktiviert ist und beide Regionen Lesen und Schreiben unterstützen. Das bestätigt die Kontokonfiguration. Ein Schreibtest aus jeder Region erfordert Clients, die diese Regionen ansprechen.

So nutzt eine App die Regionen

Eine App verwendet den Kontoendpunkt und konfiguriert ihre bevorzugte Region im Cosmos-SDK. Beispielsweise setzt eine in Europa gehostete .NET-App ApplicationRegion auf West Europe, ihre US-Instanz auf West US 2. Das SDK erkennt regionale Endpunkte und leitet Anfragen entsprechend weiter.

Ändern beide Regionen dasselbe Element gleichzeitig, verwendet Cosmos DB die Konfliktrichtlinie des Containers. Standardmäßig wählt Last Writer Wins die Version mit dem höchsten Systemzeitstempel (_ts). Wähle eine Konfliktstrategie passend zur fachlichen Bedeutung konkurrierender Änderungen.

Aufräumen

Entferne für den kleineren Übungsaufbau West Europe unter Manage regions, speichere und warte auf den Abschluss. Deaktiviere anschließend Multi-region writes und prüfe, dass West US 2 die einzige Schreibregion bleibt. Behalte das Konto für den nächsten Trip. Das Entfernen der zusätzlichen Region reduziert regionale Kapazitäts- und Speicherkosten.