Partager via


Configurer une base de données distribuée à l’échelle mondiale à l’aide de l’API Azure Cosmos DB pour MongoDB

S’APPLIQUE À : MongoDB

Dans cet article, nous vous montrons comment utiliser le portail Azure pour configurer une base de données distribuée à l’échelle mondiale et vous y connecter à l’aide de l’API Azure Cosmos DB pour MongoDB.

Cet article décrit les tâches suivantes :

Ajouter des régions de bases de donnée mondiales à l’aide du portail Azure

Azure Cosmos DB est disponible dans toutes les régions Azure à travers le monde. Après avoir sélectionné le niveau de cohérence par défaut pour votre compte de base de données, vous pouvez associer une ou plusieurs régions (en fonction de votre choix de niveau de cohérence par défaut et de vos besoins de distribution mondiale).

  1. Dans la barre à gauche du portail Azure, cliquez sur Azure Cosmos DB.

  2. Dans la page Azure Cosmos DB, sélectionnez le compte de base de données à modifier.

  3. Dans la page du compte, cliquez sur Répliquer les données globalement à partir du menu.

  4. Dans la page Répliquer les données globalement, sélectionnez les régions à ajouter ou à supprimer en cliquant sur des régions sur la carte, puis cliquez sur Enregistrer. L’ajout de régions est payant. Pour plus d’informations, consultez la page de tarification ou l’article Distribution mondiale des données avec Azure Cosmos DB.

    Cliquez sur les régions dans la carte pour les ajouter ou les supprimer.

Une fois que vous ajoutez une deuxième région, l’option Basculement manuel est activée sur la page Répliquer les données globalement dans le portail. Vous pouvez utiliser cette option pour tester le processus de basculement ou modifier la région principale d’écriture. Une fois que vous ajoutez une troisième région, l’option Priorités de basculement est activée sur la même page afin que vous puissiez modifier l’ordre de basculement pour les lectures.

Sélection de régions de base de données mondiale

Il existe deux scénarios courants pour la configuration de deux ou plusieurs régions :

  1. La fourniture aux utilisateurs finaux d’un accès à faible latence aux données, où qu’ils se trouvent dans le monde
  2. L’ajout d’une résilience régionale pour la continuité d’activité et la reprise d’activité (BCDR)

Pour fournir une faible latence aux utilisateurs finaux, il est recommandé de déployer l’application et Azure Cosmos DB dans les régions correspondant à la localisation géographique des utilisateurs de l’application.

Pour BCDR, il est recommandé d’ajouter les régions en fonction des paires de régions décrites dans l’article Réplication interrégionale dans Azure : continuité de l’activité et reprise d’activité.

Vérification de votre configuration régionale

La façon la plus simple de vérifier votre configuration mondiale avec l’API Azure Cosmos DB for MongoDB consiste à exécuter la commande isMaster() à partir de l’interpréteur de commandes Mongo.

À partir de votre interpréteur de commandes Mongo :

   db.isMaster()

Résultats de l'exemple :

   {
      "_t": "IsMasterResponse",
      "ok": 1,
      "ismaster": true,
      "maxMessageSizeBytes": 4194304,
      "maxWriteBatchSize": 1000,
      "minWireVersion": 0,
      "maxWireVersion": 2,
      "tags": {
         "region": "South India"
      },
      "hosts": [
         "vishi-api-for-mongodb-southcentralus.documents.azure.com:10255",
         "vishi-api-for-mongodb-westeurope.documents.azure.com:10255",
         "vishi-api-for-mongodb-southindia.documents.azure.com:10255"
      ],
      "setName": "globaldb",
      "setVersion": 1,
      "primary": "vishi-api-for-mongodb-southindia.documents.azure.com:10255",
      "me": "vishi-api-for-mongodb-southindia.documents.azure.com:10255"
   }

Connexion à une région de prédilection

L’API Azure Cosmos DB pour MongoDB vous permet de spécifier les préférences de lecture de votre collection pour une base de données mondialement distribuée. Pour les lectures à faible latence et la haute disponibilité globale, nous vous recommandons de définir les préférences de lecture de votre collection sur La plus proche. Une préférence de lecture définie sur La plus proche est configurée pour lire à partir de la région la plus proche.

var collection = database.GetCollection<BsonDocument>(collectionName);
collection = collection.WithReadPreference(new ReadPreference(ReadPreferenceMode.Nearest));

Pour les applications avec une région primaire en lecture/écriture et une région secondaire pour les scénarios de récupération d’urgence, nous vous recommandons de définir les préférences de lecture de votre collection sur Primary preferred (Principal par défaut). Une préférence de lecture définie sur Primary preferred (Principal par défaut) est configurée pour lire à partir de la région secondaire lorsque la région primaire n’est pas disponible.

var collection = database.GetCollection<BsonDocument>(collectionName);
collection = collection.WithReadPreference(new ReadPreference(ReadPreferenceMode.SecondaryPreferred));

Enfin, si vous souhaitez spécifier manuellement vos régions de lecture, vous pouvez définir la balise de la région dans vos préférences de lecture.

var collection = database.GetCollection<BsonDocument>(collectionName);
var tag = new Tag("region", "Southeast Asia");
collection = collection.WithReadPreference(new ReadPreference(ReadPreferenceMode.Secondary, new[] { new TagSet(new[] { tag }) }));

C’est ici que s’achève ce didacticiel. Découvrez comment gérer la cohérence de votre compte répliqué à l’échelle mondiale en lisant l’article Niveaux de cohérence dans Azure Cosmos DB. Pour plus d’informations sur le fonctionnement de la réplication de base de données à l’échelle mondiale dans Azure Cosmos DB, voir Diffuser des données à l’échelle mondiale avec Azure Cosmos DB.

Étapes suivantes

Dans ce tutoriel, vous avez :

  • Configurer la diffusion mondiale à l’aide du portail Azure
  • Configurer la distribution mondiale à l’aide de l’API Azure Cosmos DB pour MongoDB

Vous pouvez maintenant passer au didacticiel suivant pour apprendre à développer en local à l’aide de l’émulateur local Azure Cosmos DB.

Vous tentez d’effectuer une planification de la capacité pour une migration vers Azure Cosmos DB ? Vous pouvez utiliser les informations sur votre cluster de bases de données existant pour la planification de la capacité.