Cosmos braucht mehrere Schreibregionen? Multi-Region Writes konfigurieren
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.

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.

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.