Comprendre le format de l'URI des chaînes de connexion de Public Cloud Databases for MongoDB
Découvrez le fonctionnement de la syntaxe des connexions pour MongoDB
Objectif
Ce guide va vous aider à comprendre la syntaxe des URI des chaînes de connexion et comment connecter des applications à des instances MongoDB.
MongoDB 3.6 a introduit le concept de liste de seed (seed list) spécifiée via des enregistrements DNS, en l'occurrence des enregistrements SRV. Auparavant, les clients devaient spécifier au moins un membre du replica set (et pouvaient en spécifier plusieurs) lors de la connexion. Cela permet à un client de se connecter à un replica set même si l'un des nœuds spécifiés par le client est indisponible.
Ce guide explique comment tirer parti du format de chaîne de connexion DNS seed list pour faciliter la connexion à un service MongoDB.
Prérequis
- Un projet Public Cloud dans votre compte OVHcloud
- Une instance MongoDB exécutée sur votre service OVHcloud Public Cloud Databases (ce guide peut vous aider à répondre à ce prérequis)
- Configurer votre instance MongoDB pour accepter les connexions entrantes
- Une version stable de MongoDB Compass installée et une connectivité réseau publique (Internet). Ce guide a été réalisé avec la version 1.30.1 de MongoDB Compass
Accès à l'espace client OVHcloud
- Lien direct :
- Chemin de navigation :
Public Cloud> Sélectionnez votre projet
Concepts
Une fois qu'une instance MongoDB est en cours d'exécution, vous pouvez y connecter plusieurs applications, à partir de diverses bibliothèques, drivers, et plus encore.
Dans chaque cas, du shell mongosh à du code Python ou une application NodeJS, vous devez spécifier certains paramètres tels qu'un hôte, un port, un utilisateur, un mot de passe, etc.
Une fois réunis, cette syntaxe exacte est appelée URI, pour Uniform Resource Identifier. MongoDB prend actuellement en charge deux formats d'URI de chaîne de connexion.
Format de chaîne de connexion standard
Il s'agit du premier format proposé par MongoDB depuis la version 1. Depuis MongoDB 3.6, la meilleure pratique consiste à éviter ce format. Il sera bientôt masqué dans l'espace client OVHcloud.
La chaîne de connexion URI standard a le format suivant :
Par exemple, avec Public Cloud Databases, cela peut ressembler à ceci :
Format de connexion DNS Seed List
Introduit depuis MongoDB 3.6, ce nouveau format d'URI de chaîne de connexion apporte praticité et ergonomie.
Plutôt que de lister tous les hôtes un par un, MongoDB a introduit le concept de listes basées sur le DNS. Cette méthode est recommandée pour les drivers > 3.6.
L'utilisation du DNS pour construire la liste des serveurs disponibles permet plus de flexibilité de déploiement et la possibilité de modifier les hôtes sans reconfigurer les clients.
Sans l'enregistrement SRV, les clients de configuration doivent lister plusieurs nœuds dans leur chaîne de connexion.
L'utilisation d'enregistrements SRV élimine la nécessité pour les clients de transmettre un ensemble complet d'informations d'état pour le cluster. À la place, un seul enregistrement SRV identifie tous les nœuds associés au cluster.
La chaîne de connexion DNS seed list a le format suivant :
Par exemple, cela peut ressembler à ceci avec Public Cloud Databases, même avec 3 nœuds :
La configuration DNS correspondante (enregistrements SRV) est spécifiée lors de l'instanciation du service MongoDB et peut ressembler à ceci :
Exemple : ajouter et supprimer des nœuds MongoDB sans impact grâce à la DNS Seed List
Récupérer la chaîne de connexion MongoDB DNS Seed List
Pour récupérer l'URI MongoDB (mongodbSrv), ouvrez votre projet Public Cloud et cliquez sur Databases dans le menu de navigation de gauche, puis sélectionnez votre instance MongoDB.
Dans le panneau central Login information, sélectionnez mongodbSrv comme Service et copiez l'URI.
Tester la connexion à MongoDB
Ouvrez MongoDB Compass et renseignez le champ de connexion avec la chaîne de connexion mongodbSrv que vous venez de copier.
Remplacez le nom d'utilisateur et le mot de passe par leurs valeurs réelles et cliquez sur Se connecter.
MongoDB Compass établit la connexion et vous devriez maintenant pouvoir explorer vos bases de données.
Ajouter un nœud à un cluster
Imaginons que vous souhaitiez faire monter en charge votre cluster pour absorber une charge supplémentaire.
Depuis l'espace client OVHcloud, cliquez sur le bouton Ajouter un nœud et confirmez.
Une fois le nouveau nœud provisionné, il n'est pas nécessaire de reconfigurer votre connexion.
Une fois que MongoDB Compass a établi la connexion, cliquez sur le menu des trois points ... à côté du nom de la connexion.
Dans le menu, cliquez sur Informations de connexion.
Votre MongoDB Compass est désormais connecté aux 4 nœuds du cluster.
Supprimer un nœud du cluster
Vous souhaitez maintenant réduire la taille du cluster en supprimant un nœud.
Retournez dans l'espace client OVHcloud, cliquez sur le bouton Supprimer le nœud et confirmez.
Après quelques secondes, le nœud est effectivement supprimé du cluster.
Retournez dans MongoDB Compass et ouvrez Informations de connexion.
Vous devriez pouvoir constater que MongoDB Compass a mis à jour la liste des nœuds de votre cluster, et n'en liste plus que 3.
Sans avoir mis à jour la chaîne de connexion, l'application cliente a mis à jour dynamiquement ses informations de connexion.
Pour conclure
En résumé, la chaîne de connexion DNS seed list et les enregistrements SRV sous-jacents simplifient l'intégration des clusters MongoDB, limitent les erreurs et facilitent l'évolution grâce à une gestion transparente des nœuds.
Aller plus loin
Visitez notre chaîne Discord dédiée : https://discord.gg/ovhcloud.
Posez vos questions, faites-nous part de vos commentaires et interagissez directement avec l’équipe qui développe nos services de bases de données.