Hochverfügbarkeit in Azure Cosmos DB for PostgreSQL
GILT FÜR: Azure Cosmos DB for PostgreSQL (unterstützt von der Citus-Datenbankerweiterung auf PostgreSQL)
Hochverfügbarkeit (High Availability, HA) minimiert Datenbankausfälle, indem Standbyreplikate jedes Knotens in einem Cluster verwaltet werden. Wenn ein Knoten ausfällt, schaltet Azure Cosmos DB for PostgreSQL eingehende Verbindungen vom fehlerhaften Knoten auf den Standbyknoten um. Ein Failover erfolgt innerhalb weniger Minuten, und höher gestufte Knoten verfügen durch die synchrone PostgreSQL-Streamingreplikation immer über aktuelle Daten.
Alle primären Knoten in einem Cluster werden in einer Verfügbarkeitszone bereitgestellt, um die Latenz zwischen den Knoten zu verkürzen. Mit der bevorzugten Verfügbarkeitszone können Sie alle Clusterknoten in derselben Verfügbarkeitszone platzieren, in der die Anwendung bereitgestellt wird. Diese Nähe könnte die Leistung weiter verbessern, indem die Latenz der App-Datenbank verringert wird. Die Standbyknoten werden in einer anderen Verfügbarkeitszone bereitgestellt. Im Azure-Portal wird die Verfügbarkeitszone jedes primären Knotens in einem Cluster angezeigt. Sie können die Verfügbarkeitszone jedes Knotens in einem Cluster auch mithilfe einer programmgesteuerten Methode wie den REST-APIs überprüfen.
Auch ohne aktivierte Hochverfügbarkeit verfügt jeder Knoten über einen eigenen lokal redundanten Speicher (LRS) mit drei synchronen Replikaten, die vom Azure Storage-Dienst verwaltet werden. Wenn ein einzelner Replikatfehler vor liegt, wird er vom Azure Storage-Dienst erkannt und transparent neu erstellt. Informationen zur Dauerhaftigkeit des LRS-Speichers finden Sie auf dieser Seite unter Metriken.
Wenn Hochverfügbarkeit aktiviert ist, führt Azure Cosmos DB for PostgreSQL einen Standbyknoten für jeden primären Knoten im Cluster aus. Der primäre Server und sein Standbyserver verwenden die synchrone PostgreSQL-Replikation. Diese Replikation ermöglicht Kunden eine vorhersagbare Ausfallzeit, wenn ein primärer Knoten ausfällt. Kurz gesagt erkennt unser Dienst einen Fehler auf primären Knoten und führt ein Failover auf Standbyknoten ohne Datenverlust aus.
Um die Vorteile von Hochverfügbarkeit auf dem Koordinatorknoten zu nutzen, müssen Datenbankanwendungen getrennte Verbindungen und fehlerhafte Transaktionen erkennen und Wiederholungsvorgänge für diese ausführen. Auf den höher gestuften neuen Koordinatorknoten kann mit der gleichen Verbindungszeichenfolge zugegriffen werden.
Hochverfügbarkeitszustände
Die Wiederherstellung kann in drei Phasen unterteilt werden: Erkennung, Failover und vollständige Wiederherstellung. Azure Cosmos DB for PostgreSQL führt regelmäßige Integritätsprüfungen für jeden Knoten aus, und nach vier fehlerhaften Prüfungen wird festgelegt, dass ein Knoten ausgefallen ist. Azure Cosmos DB for PostgreSQL stuft dann einen Standbyknoten auf den Status eines primären Knotens hoch (Failover) und erstellt einen neuen zukünftigen Standbyknoten. Die Streamingreplikation beginnt, sodass der neue Knoten auf den neuesten Stand gebracht wird. Nachdem alle Daten repliziert wurden, hat der Knoten die vollständige Wiederherstellung erreicht.
Azure Cosmos DB for PostgreSQL zeigt den Failoverstatus auf der Übersichtsseite der Cluster im Azure-Portal an.
- Fehlerfrei: Hochverfügbarkeit ist aktiviert, und der Knoten wird vollständig auf dem Standbyknoten repliziert.
- Failover wird ausgeführt.: Auf dem primären Knoten wurde ein Fehler erkannt, und auf dem Standbyknoten wurde ein Failover initiiert. Dieser Status ändert sich nach Abschluss des Failovers auf dem Standbyknoten in Standby wird erstellt, und der Standbyknoten wird zum neuen primären Knoten.
- Standby wird erstellt: Der vorherige Standbyknoten wurde auf den primären Knoten heraufgestuft, und ein neuer Standbyknoten wird erstellt. Wenn der neue sekundäre Knoten bereit ist, ändert sich dieser Status in Replikation wird ausgeführt.
- Replikation wird ausgeführt: Der neue Standbyknoten wird bereitgestellt, und die Datensynchronisierung wird ausgeführt. Nachdem alle Daten auf dem neuen Standbyknoten repliziert wurden, wird die synchrone Replikation zwischen dem primären Knoten und dem Standbyknoten aktiviert, und der Status der Knoten ändert sich wieder in Fehlerfrei.
- Nein: Hochverfügbarkeit ist auf diesem Knoten nicht aktiviert.
Nächste Schritte
- Erfahren Sie, wie Sie in einem Cluster Hochverfügbarkeit aktivieren.
- Erfahren Sie mehr über Verfügbarkeitszonen in Azure Cosmos DB for PostgreSQL.