Les instances de type Replica Set d'ApsaraDB for MongoDB s'appuient sur une architecture multi-nœuds pour offrir une haute disponibilité intégrée, un basculement automatique et une mise à l'échelle en lecture, sans configuration manuelle.
Architecture

Une instance de type Replica Set se compose des nœuds suivants :
Nœud principal : traite toutes les requêtes en lecture et en écriture. Chaque instance comporte exactement un nœud principal.
Nœud secondaire : réplique les données du nœud principal via les journaux d'opérations (oplogs). En cas de défaillance du nœud principal, un nœud secondaire est automatiquement élu comme nouveau nœud principal.
Nœud masqué : réplique les données du nœud principal via les journaux d'opérations (oplogs). Il sert de nœud de secours et remplace automatiquement un nœud secondaire ou un nœud en lecture seule défaillant. Le nœud masqué est invisible pour les utilisateurs, n'apparaît pas dans la liste des nœuds secondaires et ne peut pas être élu comme nœud principal, mais il participe néanmoins aux élections. Chaque instance comporte exactement un nœud masqué.
Nœud en lecture seule (facultatif) : réplique les données depuis le nœud principal ou secondaire présentant la latence la plus faible. Il permet de décharger le trafic en lecture des nœuds principaux et secondaires.
L'expression « nœuds primaires et secondaires » englobe le nœud principal, les nœuds secondaires et le nœud masqué.
Haute disponibilité
Les nœuds secondaires conservent une copie synchronisée des données du nœud principal. Si ce dernier tombe en panne, une élection promeut automatiquement un nœud secondaire au rang de nœud principal, garantissant la continuité du service sans intervention manuelle.
En cas de défaillance d'un nœud secondaire, le nœud masqué est automatiquement élu pour le remplacer. Si cette opération n'est pas effectuée automatiquement, effectuez-la manuellement. De même, si un nœud en lecture seule échoue, le nœud masqué est automatiquement élu pour le remplacer. Là encore, une exécution manuelle reste possible. Dans les deux cas, l'URI de chaîne de connexion associé au nœud reste inchangé après le changement de rôle.
Chaque changement de rôle peut entraîner une interruption transitoire de la connexion pouvant durer jusqu'à 30 secondes. Planifiez ces opérations durant les heures creuses ou assurez-vous que votre application est capable de se reconnecter automatiquement. Pour plus d'informations, consultez la rubrique Changer les rôles des nœuds.
Mise à l'échelle en lecture
Connectez-vous à un nœud secondaire via son URI de chaîne de connexion pour accéder à l'instance en lecture seule.
Les nœuds en lecture seule étendent davantage la capacité de lecture : ils disposent d'un URI de connexion dédié, indépendant des nœuds principaux et secondaires, ce qui les rend adaptés à une connexion directe depuis des systèmes distincts. Lorsqu'une instance compte deux nœuds en lecture seule ou plus, utilisez l'URI de connexion en lecture seule pour répartir le trafic entre tous ces nœuds. Pour en savoir plus, consultez la rubrique Nœuds en lecture seule.
Référence des nœuds
| Nœud | Rôle | Contraintes |
|---|---|---|
| Nœud principal | Traite toutes les requêtes en lecture et en écriture | Un par instance |
| Nœud secondaire | Réplique les données du nœud principal via les oplogs ; éligible à l'élection comme nœud principal | Un ou plusieurs par instance |
| Nœud masqué | Nœud de secours ; remplace automatiquement un nœud secondaire ou en lecture seule défaillant | Un par instance ; invisible pour les utilisateurs ; ne peut pas être élu comme nœud principal ; participe aux élections |
| Nœud en lecture seule | Réplique depuis le nœud principal ou secondaire ayant la latence la plus faible ; décharge le trafic en lecture | Facultatif ; un ou plusieurs par instance ; n'apparaît pas dans la liste des nœuds secondaires ; ne peut pas être élu comme nœud principal ; ne participe pas aux élections |
Extension horizontale d'une instance de type Replica Set
Ajoutez des nœuds secondaires ou des nœuds en lecture seule pour augmenter la capacité de lecture. Le nombre de nœuds masqués est fixé à un et ne peut pas être modifié.
Cette flexibilité convient particulièrement aux charges de travail caractérisées par un volume de lecture élevé et un volume d'écriture faible, telles que les plateformes de lecture en ligne ou les systèmes de consultation de commandes. Vous pouvez ainsi ajouter ou supprimer des nœuds secondaires ou en lecture seule selon l'évolution du trafic.
Pour modifier la configuration des nœuds, consultez la rubrique Modifier la configuration d'une instance de type Replica Set.