Hoge beschikbaarheid in Azure Cosmos DB for PostgreSQL
VAN TOEPASSING OP: Azure Cosmos DB for PostgreSQL (mogelijk gemaakt door de Citus-database-extensie naar PostgreSQL)
Hoge beschikbaarheid (HA) minimaliseert de downtime van databases door stand-byreplica's van elk knooppunt in een cluster te onderhouden. Als een knooppunt uitvalt, schakelt Azure Cosmos DB for PostgreSQL binnenkomende verbindingen van het mislukte knooppunt over naar de stand-byreplica. Failover wordt binnen enkele minuten uitgevoerd en knooppunten die een niveau zijn verhoogd, beschikken altijd over de nieuwste gegevens dankzij synchrone streamingreplicatie van PostgreSQL.
Alle primaire knooppunten in een cluster worden ingericht in één beschikbaarheidszone voor betere latentie tussen de knooppunten. Met de gewenste beschikbaarheidszone kunt u alle clusterknooppunten in dezelfde beschikbaarheidszone plaatsen waar de toepassing wordt geïmplementeerd. Deze nabijheid kan de prestaties verder verbeteren door de latentie van de app-database te verlagen. De stand-byknooppunten worden ingericht in een andere beschikbaarheidszone. In Azure Portal wordt de beschikbaarheidszone van elk primair knooppunt in een cluster weergegeven . U kunt ook de beschikbaarheidszone van elk knooppunt in een cluster controleren met behulp van een van de programmatische methoden, zoals REST API's.
Zelfs zonder hoge beschikbaarheid heeft elk knooppunt een eigen lokaal redundante opslag (LRS) met drie synchrone replica's die worden onderhouden door de Azure Storage-service. Als er één replicafout optreedt, wordt deze gedetecteerd door de Azure Storage-service en wordt deze op transparante wijze opnieuw gemaakt. Zie metrische gegevens op deze pagina voor de duurzaamheid van LRS-opslag.
Wanneer hoge beschikbaarheid is ingeschakeld, voert Azure Cosmos DB voor PostgreSQL één stand-byknooppunt uit voor elk primair knooppunt in het cluster. De primaire en stand-by maken gebruik van synchrone PostgreSQL-replicatie. Met deze replicatie kunnen klanten voorspelbare downtime hebben als een primair knooppunt uitvalt. In een notendop detecteert onze service een fout op primaire knooppunten en voert een failover uit naar stand-byknooppunten zonder gegevensverlies.
Als u wilt profiteren van hoge beschikbaarheid op het coördinatorknooppunt, moeten databasetoepassingen verbroken verbindingen en mislukte transacties detecteren en opnieuw proberen. De zojuist gepromoveerde coördinator is toegankelijk met dezelfde verbindingsreeks.
Statussen voor hoge beschikbaarheid
Herstel kan worden onderverdeeld in drie fasen: detectie, failover en volledig herstel. Azure Cosmos DB for PostgreSQL voert periodieke statuscontroles uit op elk knooppunt en na vier mislukte controles wordt vastgesteld dat een knooppunt offline is. Azure Cosmos DB for PostgreSQL bevordert vervolgens een stand-by naar primaire knooppuntstatus (failover) en maakt een nieuwe stand-by-to-be. Streamingreplicatie begint, waardoor het nieuwe knooppunt up-to-date is. Wanneer alle gegevens zijn gerepliceerd, is het knooppunt volledig hersteld.
Azure Cosmos DB for PostgreSQL geeft de status van de failovervoortgang weer op de pagina Overzicht voor clusters in Azure Portal.
- In orde: hoge beschikbaarheid is ingeschakeld en het knooppunt wordt volledig gerepliceerd naar de stand-by.
- Failover wordt uitgevoerd: er is een fout gedetecteerd op het primaire knooppunt en er is een failover naar stand-by gestart. Deze status gaat over naar Stand-by maken zodra een failover naar het stand-byknooppunt is voltooid en wordt de stand-by de nieuwe primaire.
- Stand-by maken: de vorige stand-by is gepromoveerd naar primair en er wordt een nieuwe stand-by voor gemaakt. Wanneer de nieuwe secundaire is voorbereid, wordt deze status overgezet naar replicatie die wordt uitgevoerd.
- Replicatie wordt uitgevoerd: het nieuwe stand-byknooppunt wordt ingericht en de gegevenssynchronisatie wordt uitgevoerd. Zodra alle gegevens naar de nieuwe stand-by zijn gerepliceerd, wordt synchrone replicatie ingeschakeld tussen de primaire en stand-byknooppunten en wordt de status van de knooppunten teruggezet naar In orde.
- Nee: HA is niet ingeschakeld op dit knooppunt.
Volgende stappen
- Meer informatie over het inschakelen van hoge beschikbaarheid in een cluster.
- Meer informatie over beschikbaarheidszones in Azure Cosmos DB for PostgreSQL.