Einrichten der globalen Verteilung von Azure Cosmos DB mithilfe der API für Table

GILT FÜR: Tabelle

In diesem Artikel werden die folgenden Aufgaben behandelt:

  • Konfigurieren der globalen Verteilung mit dem Azure-Portal
  • Konfigurieren der globalen Verteilung mit der API für Table

Hinzufügen globaler Datenbankregionen über das Azure-Portal

Azure Cosmos DB ist in allen Azure-Regionen weltweit verfügbar. Nachdem Sie die Standardkonsistenzebene für Ihr Datenbankkonto ausgewählt haben, können Sie dem Konto eine oder mehrere Regionen zuordnen (je nachdem, welche Konsistenzebene Sie ausgewählt haben und welche Anforderungen an eine globale Verteilung bestehen).

  1. Klicken Sie im Azure-Portal auf der linken Leiste auf Azure Cosmos DB.

  2. Wählen Sie auf der Seite Azure Cosmos DB das zu ändernde Datenbankkonto aus.

  3. Klicken Sie auf der Kontoseite im Menü auf Daten global replizieren.

  4. Wählen Sie auf der Seite Daten global replizieren die Regionen aus, die Sie hinzufügen oder entfernen möchten. Klicken Sie hierzu auf die Regionen auf der Karte, und klicken Sie anschließend auf Speichern. Für das Hinzufügen von Regionen entstehen Kosten. Weitere Informationen hierzu finden Sie auf der Seite mit Preisinformationen sowie im Artikel Globale Verteilung von Daten mit Azure Cosmos DB.

    Hinzufügen oder Entfernen von Regionen per Klick auf die Regionen auf der Karte

Nachdem Sie eine zweite Region hinzugefügt haben, wird im Portal auf der Seite Daten global replizieren die Option Manuelles Failover aktiviert. Sie können diese Option verwenden, um den Failovervorgang, zu testen oder die primäre Schreibregion zu ändern. Nachdem Sie eine dritte Region hinzugefügt haben, wird auf der gleichen Seite die Option Failoverprioritäten aktiviert, sodass Sie die Failoverreihenfolge für Lesevorgänge ändern können.

Auswählen von globalen Datenbankregionen

Es gibt zwei gängige Szenarios zum Konfigurieren von mindestens zwei oder mehr Regionen:

  1. Übermitteln von niedriger Latenz beim Zugriff auf Daten für Endbenutzer, unabhängig davon, wo sie sich befinden
  2. Hinzufügen von regionaler Resilienz für Geschäftskontinuität und Notfallwiederherstellung (Business Continuity & Disaster Recovery, BCDR)

Zur Gewährleistung geringer Wartezeiten für Endbenutzer empfiehlt es sich, sowohl die Anwendung als auch Azure Cosmos DB in den Regionen bereitzustellen, in denen sich die Benutzer der Anwendung befinden.

Für BCDR empfiehlt es sich, die Regionen basierend auf den Regionspaaren hinzuzufügen, die im Artikel Regionsübergreifende Replikation in Azure: Business Continuity & Disaster Recovery beschrieben sind.

Herstellen einer Verbindung mit einer bevorzugten Region mithilfe der API für Table

Um die globale Verteilung nutzen zu können, sollte von Clientanwendungen der aktuelle Standort angegeben werden, an dem die Anwendung ausgeführt wird. Hierfür wird die CosmosExecutorConfiguration.CurrentRegion-Eigenschaft festgelegt. Die CurrentRegion-Eigenschaft sollte nur einen Standort enthalten. Jede Clientinstanz kann ihre eigene Region angeben, um für Lesevorgänge eine geringe Latenz zu erzielen. Für die Benennung der Region muss jeweils der Anzeigename, z. B. „USA, Westen“ verwendet werden.

Das Azure Cosmos DB for Table-SDK wählt je nach Kontokonfiguration und aktueller regionaler Verfügbarkeit automatisch den optimalen Endpunkt für die Kommunikation aus. Die nächstgelegene Region erhält Vorrang, um für Clients die Latenz zu verringern. Nachdem Sie die aktuelle CurrentRegion-Eigenschaft festgelegt haben, werden Lese- und Schreibanforderungen wie folgt weitergeleitet:

  • Leseanforderungen: Alle Leseanforderungen werden an die konfigurierte aktuelle Region (CurrentRegion) gesendet. Basierend auf der jeweiligen Nähe wählt das SDK automatisch eine Fallbackregion mit Georeplikation aus, um für Hochverfügbarkeit zu sorgen.

  • Schreibanforderungen: Das SDK sendet alle Schreibanforderungen automatisch an die aktuelle Schreibregion. Unter einem Konto mit Schreibvorgängen in mehreren Regionen werden die Schreibanforderungen auch von der aktuellen Region bereitgestellt. Basierend auf der jeweiligen Nähe wählt das SDK automatisch eine Fallbackregion mit Georeplikation aus, um für Hochverfügbarkeit zu sorgen.

Wenn Sie die CurrentRegion-Eigenschaft auch angeben, nutzt das SDK die aktuelle Schreibregion für alle Vorgänge.

Beispiel: Ein Azure Cosmos DB-Konto befindet sich in den Regionen „USA, Westen“ und „USA, Osten“. Angenommen, „USA, Westen“ ist die Schreibregion, und die Anwendung befindet sich in „USA, Osten“. Wenn die „CurrentRegion“-Eigenschaft nicht konfiguriert ist, werden alle Lese- und Schreibanforderungen immer an die Region „USA, Westen“ geleitet. Wenn die „CurrentRegion“-Eigenschaft konfiguriert ist, werden alle Leseanforderungen über die Region „USA, Osten“ bereitgestellt.

Nächste Schritte

In diesem Tutorial haben Sie die folgenden Aufgaben ausgeführt:

  • Konfigurieren der globalen Verteilung mit dem Azure-Portal
  • Konfigurieren der globalen Verteilung mithilfe der Table-APIs von Azure Cosmos DB