Tous les produits
Search
Centre de documentation

ApsaraDB for MongoDB:Connexion à une instance de cluster fragmenté via un URI de chaîne de connexion

Dernière mise à jour :Aug 08, 2026

Les instances de cluster fragmenté ApsaraDB for MongoDB fournissent un endpoint pour chaque nœud mongos. Connectez-vous à n'importe quel nœud mongos pour accéder aux bases de données. Utilisez un URI de chaîne de connexion pour bénéficier de l'équilibrage de charge et de la haute disponibilité.

Informations contextuelles

Sharded cluster architecture

Un cluster fragmenté MongoDB répartit les données sur plusieurs shards pour assurer une grande évolutivité. Un serveur de configuration stocke les métadonnées du cluster, tandis que les nœuds mongos servent de points d'entrée aux applications : ils lisent les informations de routage et transfèrent les requêtes vers le shard approprié.

  • L'accès à un nœud mongos est similaire à l'accès à un processus mongod unique.

  • Tous les nœuds mongos sont des pairs. Accédez au cluster fragmenté via un ou plusieurs nœuds mongos.

  • Les nœuds mongos sont sans état et permettent une mise à l'échelle horizontale. La capacité globale du service correspond au minimum entre la capacité totale des shards et celle des nœuds mongos.

  • Répartissez uniformément les requêtes des applications sur plusieurs nœuds mongos.

À propos des URI de chaîne de connexion

Pour vous connecter à une instance de cluster fragmenté, vous devez connaître le format de l'URI de chaîne de connexion MongoDB Connection String URI. Tous les pilotes officiels MongoDB drivers prennent en charge ce format.

Exemple d'URI de chaîne de connexion :

mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]

Description des paramètres :

  • mongodb://: Préfixe identifiant un URI de chaîne de connexion.

  • username:password@: Nom d'utilisateur et mot de passe utilisés pour se connecter à la base de données.

  • hostX:portX: Adresses des nœuds mongos.

  • /database: Base de données d'authentification.

  • ?options: Options de connexion supplémentaires.

Connexion à une instance de cluster fragmenté

ApsaraDB for MongoDB permet de se connecter à une instance de cluster fragmenté via un URI de chaîne de connexion, ce qui active automatiquement l'équilibrage de charge et la haute disponibilité.

  1. Récupérez l'URI de chaîne de connexion de l'instance de cluster fragmenté. Pour plus d'informations, consultez la rubrique Connexion à une instance de cluster fragmenté.

  2. Dans votre application, utilisez l'URI de chaîne de connexion pour vous connecter à l'instance. Pour plus d'informations, consultez la rubrique Connexion à une instance de cluster fragmenté à l'aide de code.

    L'exemple Java suivant établit une connexion avec le compte de base de données test à la base de données admin :

    String user = "test";
    String password = "MongoDB****";
    String myURI = "mongodb://" + user + ":" + password + "@s-bp1c04c07823****.mongodb.rds.aliyuncs.com:3717,s-bp1500549e0b****.mongodb.rds.aliyuncs.com:3717/admin";
    MongoClient mongoClient = new MongoClient(new MongoClientURI(myURI));

    Avec cette méthode, le client répartit automatiquement les requêtes sur plusieurs nœuds mongos pour assurer l'équilibrage de charge. Si l'URI contient deux nœuds mongos ou plus et que l'un d'eux tombe en panne, le client bascule automatiquement vers les nœuds sains restants.

Si vous disposez de plusieurs nœuds mongos, vous pouvez les regrouper par application pour isoler les accès. Par exemple, avec quatre nœuds mongos et deux applications, configurez l'application A pour utiliser les nœuds mongos 1 et 2, tandis que l'application B utilise les nœuds mongos 3 et 4. Spécifiez uniquement les adresses mongos correspondantes dans l'URI de chaque application.

Remarque

Les nœuds mongos auxquels accèdent les applications sont isolés les uns des autres, mais les shards backend restent partagés.

Paramètres de connexion courants

  • Mise en œuvre de la séparation lecture/écriture

    Ajoutez readPreference=secondaryPreferred aux options de l'URI de chaîne de connexion pour acheminer les requêtes de lecture vers les nœuds secondaires en priorité.

    Exemple :

    Le compte de base de données est test et la base de données est admin.

    mongodb://test:****@s-bp10fb1cf399****.mongodb.rds.aliyuncs.com:3717,s-bp10f49cdf5e****.mongodb.rds.aliyuncs.com:3717/admin?readPreference=secondaryPreferred
  • Limitation du nombre de connexions

    Ajoutez maxPoolSize=xx aux options de l'URI de chaîne de connexion pour limiter la taille du pool de connexions par client à xx.

    L'exemple suivant définit la taille du pool de connexions à 100. Le compte de base de données est test et la base de données est admin :

    mongodb://test:****@s-bp10fb1cf399****.mongodb.rds.aliyuncs.com:3717,s-bp10f49cdf5e****.mongodb.rds.aliyuncs.com:3717/admin?readPreference=secondaryPreferred&maxpoolsize=100
  • Garantie de l'accusé de réception des écritures par une majorité de nœuds

    Ajoutez w=majority aux options de l'URI de chaîne de connexion pour exiger que les écritures soient accusées de réception par une majorité de nœuds avant de réussir.

    Exemple :

    Le compte de base de données est test et la base de données est admin.

    mongodb://test:****@s-bp10fb1cf399****.mongodb.rds.aliyuncs.com:3717,s-bp10f49cdf5e****.mongodb.rds.aliyuncs.com:3717/admin?readPreference=secondaryPreferred&maxpoolsize=100&w=majority