Partager via


Haute disponibilité dans le vCore Azure Cosmos DB for MongoDB

S’APPLIQUE À : MongoDB vCore

La haute disponibilité (HA) au sein de la région évite les temps d’arrêt de la base de données en conservant des réplicas de secours de chaque partition d’un cluster. Si une partition ne répond pas pour une raison quelconque, Azure Cosmos DB pour MongoDB vCore bascule les connexions entrantes de la partition ayant échoué vers son serveur de secours. Lorsque le basculement se produit, les partitions promues ont toujours des données fraîches via la réplication synchrone.

Toutes les unitaires primaires d’un cluster sont approvisionnés dans une même zone de disponibilité (AZ) pour améliorer la latence entre les unités. Les unités en attente sont approvisionnés dans une autre zone.

Même si la haute disponibilité n’est pas activée, chaque nœud dispose de son propre stockage localement redondant (LRS) avec trois réplicas synchrones gérés par le service Stockage Azure. Les trois réplicas se trouvent dans la région Azure du cluster. En cas d’échec de réplica unique, le service Stockage Azure le détecte et recrée de manière transparente le réplica ayant échoué. Consultez les mesures sur cette page pour la durabilité du stockage LRS.

Lorsque HA est activée, le cœur virtuel Azure Cosmos DB for MongoDB exécute une partition en attente pour chaque partition principale du cluster. Chaque partition principale et de secours a la même configuration de calcul et de stockage. Le principal et celui en attente utilisent la réplication synchrone. Ce type de réplication vous permet d’avoir toujours les mêmes données sur les partitions primaires et de secours de votre cluster. En résumé, notre service détecte une défaillance sur les unités principaux et bascule sur les nœuds de secours sans aucune perte de données.

La chaîne de connexion de cluster reste toujours la même, quel que soit le basculement. Cela permet au service d’extraire des modifications dans les partitions physiques qui servent les requêtes des applications.

La haute disponibilité peut être activée au moment de la création du cluster. La haute disponibilité peut également être activée et désactivée à tout moment sur un cluster vCore Azure Cosmos DB pour MongoDB existant. Il n’existe aucun temps d’arrêt de base de données lorsque la haute disponibilité est activée ou désactivée sur un cluster vCore Azure Cosmos DB pour MongoDB.

Ce qui se passe pendant le basculement

Chaque basculement de partition se compose de trois phases : détection d’indisponibilité, basculement vers la partition de secours et recréation de la partition de secours. Le service effectue une surveillance continue de la disponibilité de chaque partition principale et de secours dans le cluster en effectuant un contrôle d’intégrité périodique. Lorsque le contrôle d’intégrité indique de manière fiable que la partition n’est pas répondre et doit être déclarée en échec, le basculement réel (commutateur) vers la partition de secours est lancé.

Pendant la phase de basculement, les lectures et les écritures de base de données sont redirigées vers la partition de secours. La réplication synchrone entre chaque partition principale et de secours garantit que la partition de secours a toujours le même jeu de données que son principal. Cela permet à tous les basculements d’être effectués avec zéro perte de données. Le commutateur de secours est effectué sans temps d’arrêt pour les lectures. Les opérations d’écriture peuvent nécessiter des nouvelles tentatives de service interne pendant la phase de basculement. Ces nouvelles tentatives peuvent être considérées comme une lenteur d’écriture côté application.

Une fois le basculement de partition terminé, le cluster est entièrement opérationnel. La dernière étape pour revenir à la configuration à haut niveau de disponibilité d’origine consiste à recréer la partition de secours. Cette recréation de partition de secours est effectuée sans temps d’arrêt ni impact sur la partition principale.