Konfigurera en globalt distribuerad databas med hjälp av Azure Cosmos DB:s API för MongoDB

GÄLLER FÖR: MongoDB

I den här artikeln visar vi dig hur du använder Azure-portalen till att konfigurera en globalt distribuerad databas och ansluter till den med hjälp av Azure Cosmos DB:s API för MongoDB.

Den här artikeln beskriver följande uppgifter:

Lägg till globala databasregioner med Azure Portal

Azure Cosmos DB är tillgängligt i alla Azure-regioner över hela världen. När du har valt standardkonsekvensnivå för ditt databaskonto, så kan du associera en eller flera regioner (beroende på ditt val av standardkonsekvensnivå och globala distributionsbehov).

  1. Klicka på Azure Cosmos DB i fältet till vänster i Azure Portal.

  2. Markera det databaskonto du vill ändra på sidan Azure Cosmos DB.

  3. Klicka på Replikera data globalt på menyn på kontosidan.

  4. Välj de regioner som ska läggas till eller tas bort genom att klicka på regioner på kartan på sidan Replikera data globalt och klicka sedan på Spara. Det kostar att lägga till regioner. Mer information finns på sidan om prissättning eller i artikeln Distribuera data globalt med Azure Cosmos DB.

    Lägg till eller ta bort regioner på kartan genom att klicka på dem

När du lägger till en andra region aktiveras alternativet manuell redundans på sidan Replikera data globalt i portalen. Du kan använda det här alternativet för att testa redundansprocessen eller ändra den primära skrivningsregionen. När du lägger till en tredje region aktiveras alternativet Redundansprioriteringar på samma sida, så att du kan ändra redundansordningen för läsningar.

Välja globala databasregioner

Det finns två vanliga scenarier när det gäller att konfigurera två eller flera regioner:

  1. Leverera åtkomst med låg latens till data för slutanvändare oavsett var i världen de befinner sig
  2. Lägga till regional återhämtning till affärskontinuitet och haveriberedskap (BCDR)

När det gäller att leverera låg latens till slutanvändare bör du distribuera både programmet och Azure Cosmos DB i de regioner som motsvarar de platser där programmets användare finns.

För BCDR rekommenderar vi att du lägger till regioner baserat på de regionpar som beskrivs i artikeln Replikering mellan regioner i Azure: Affärskontinuitet och haveriberedskap .

Verifiera dina regionala inställningar

Ett enkelt sätt att kontrollera din globala konfiguration med Azure Cosmos DB:s API för MongoDB är att köra kommandot isMaster() från Mongo Shell.

Från ditt Mongo-gränssnitt:

   db.isMaster()

Exempel på resultat:

   {
      "_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"
   }

Ansluta till en önskad region

Med Azure Cosmos DB:s API för MongoDB kan du ange samlingens läsinställningar för en globalt distribuerad databas. För både läsningar med låg fördröjning och med globalt hög tillgänglighet rekommenderar vi att du ställer in din samlings läsinställningar på närmaste. Läsinställningen närmaste är konfigurerad att läsa från den närmaste regionen.

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

För program med en primär läs-/skrivregion och en sekundär region för haveriberedskapsscenarier (DR) rekommenderar vi att du ställer in samlingens läsinställningar på primärt föredraget. En läsinställning för primär prioritet konfigureras för att läsa från den sekundära regionen när den primära regionen inte är tillgänglig.

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

Slutligen kan du ange dina läsregioner manuellt, om du vill. Du kan ange regionstaggen i dina läsinställningar.

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 }) }));

Och med detta är den här självstudiekursen klar. Mer information om hur du kan hantera ditt globalt replikerade kontos konsekvens finns i Konsekvensnivåer i Azure Cosmos DB. Mer information om hur global databasreplikering fungerar i Azure Cosmos DB finns i Distribuera data globalt med Azure Cosmos DB.

Nästa steg

I den här självstudien har du gjort följande:

  • Konfigurera global distribution med Azure Portal
  • Konfigurera global distribution med Azure Cosmos DB:s API för MongoDB

Du kan nu fortsätta till nästa självstudiekurs och lära dig hur du utvecklar lokalt med hjälp av den lokala Azure Cosmos DB-emulatorn.

Försöker du planera kapacitet för en migrering till Azure Cosmos DB? Du kan använda information om ditt befintliga databaskluster för kapacitetsplanering.