Disponibilità elevata in Azure Cosmos DB for MongoDB vCore
SI APPLICA A: MongoDB vCore
La disponibilità elevata all'interno dell'area evita i tempi di inattività del database mantenendo le repliche di standby di ogni partizione in un cluster. Se una partizione non risponde per qualsiasi motivo, Azure Cosmos DB for MongoDB - vCore passa le connessioni in ingresso dalla partizione con errore alla rispettiva replica di standby. Quando si verifica il failover, le partizioni alzate di livello hanno sempre dati aggiornati tramite la replica sincrona.
Viene effettuato il provisioning di tutte le partizioni primarie in un'unica zona di disponibilità (AZ) per una migliore latenza tra le partizioni. Viene effettuato il provisioning delle partizioni di standby in un'altra zona di disponibilità.
Anche senza disponibilità elevata abilitata, ogni partizione ha una propria archiviazione con ridondanza locale con tre repliche sincrone gestite dal servizio Archiviazione di Azure. Tutte e tre le repliche si trovano nell'area di Azure del cluster. Se si verifica un errore di una singola replica, il servizio Archiviazione di Azure lo rileva e ricrea in modo trasparente la replica non riuscita. Vedere le metriche disponibili in questa pagina per informazioni sulla durabilità dell'archiviazione con ridondanza locale.
Quando la disponibilità elevata è abilitata, Azure Cosmos DB for MongoDB - vCore esegue una partizione di standby per ogni partizione primaria nel cluster. Ogni partizione primaria e di standby ha la stessa configurazione di calcolo e archiviazione. La partizione primaria e la relativa partizione di standby usano la replica sincrona. Questo tipo di replica consente di avere sempre gli stessi dati nelle partizioni primarie e di standby nel cluster. In breve, il servizio rileva un errore nelle partizioni primarie e esegue il failover nelle partizioni di standby senza perdita di dati.
La stringa di connessione del cluster rimane sempre la stessa indipendentemente dai failover. Ciò consente al servizio di astrarre le modifiche nelle partizioni fisiche che gestiscono le richieste dalle applicazioni.
Quando la disponibilità elevata nell'area è abilitata nel cluster, ogni partizione del cluster è coperta dal contratto di servizio del 99,99% per la disponibilità.
La disponibilità elevata può essere abilitata in fase di creazione del cluster. La disponibilità elevata può anche essere abilitata e disabilitata in qualsiasi momento in un cluster di Azure Cosmos DB for MongoDB - vCore. Non si verificano tempi di inattività del database quando la disponibilità elevata è abilitata o disabilitata in un cluster di Azure Cosmos DB for MongoDB - vCore.
Cosa accade durante il failover
Ogni failover di partizione è costituito da tre fasi: rilevamento di indisponibilità, passaggio alla partizione di standby e ricreazione della partizione di standby. Il servizio esegue il monitoraggio continuo della disponibilità per ogni partizione primaria e di standby nel cluster eseguendo un controllo di integrità periodico. Quando il controllo integrità indica in modo affidabile che la partizione non risponde e deve essere dichiarata non riuscita, viene avviato il failover effettivo (passaggio) alla partizione di standby.
Durante la fase passaggio, le letture e le scritture del database vengono reindirizzate alla partizione di standby. La replica sincrona tra ogni partizione primaria e di standby garantisce che la partizione di standby abbia sempre lo stesso set di dati della partizione primaria. Ciò consente l'esecuzione di tutti i failover senza perdita di dati. Il passaggio alla partizione di standby viene eseguito senza tempi di inattività per le letture. Le operazioni di scrittura possono richiedere tentativi interni del servizio durante la fase di passaggio. Questi tentativi potrebbero essere considerati lentezza della scrittura sul lato applicazione.
Dopo il completamento del failover della partizione, il cluster è completamente operativo. L'ultimo passaggio per tornare alla configurazione a disponibilità elevata originale consiste nel ricreare la partizione di standby. Questa ricreazione della partizione di standby viene eseguita senza tempi di inattività o impatto sulle prestazioni sulla partizione primaria.