Delen via


Wereldwijd gedistribueerde database instellen met behulp van de API van Azure Cosmos DB voor MongoDB

VAN TOEPASSING OP: MongoDB

In dit artikel laten we zien hoe u de Azure-portal kunt gebruiken om een wereldwijd gedistribueerde database in te stellen en er verbinding mee te maken met behulp van de API van Azure Cosmos DB voor MongoDB.

Dit artikel behandelt de volgende taken:

Globale databaseregio's toevoegen met Azure Portal

Azure Cosmos DB is wereldwijd beschikbaar in alle Azure-regio's. Nadat u het standaardconsistentieniveau voor uw databaseaccount hebt geselecteerd, kunt u een of meer regio's aan het account koppelen (afhankelijk van uw keuze van het standaardconsistentieniveau en behoeften voor globale distributie).

  1. Klik in Azure Portal in de linkerbalk op Azure Cosmos DB.

  2. Selecteer op de pagina Azure Cosmos DB het databaseaccount dat u wilt wijzigen.

  3. Klik op de accountpagina op Gegevens wereldwijd repliceren in het menu.

  4. Selecteer op de pagina Gegevens globaal repliceren de regio's die u wilt toevoegen of verwijderen door op de kaart op regio's te klikken. Klik vervolgens op Opslaan. Er zijn kosten verbonden aan het toevoegen van regio's. Raadpleeg de pagina met prijzen of het artikel Gegevens globaal distribueren met Azure Cosmos DB voor meer informatie.

    Klik op de kaart op de regio's die u wilt toevoegen of verwijderen

Zodra u een tweede regio toevoegt, komt de optie Handmatige failover beschikbaar op de pagina Gegevens globaal repliceren in de portal. Deze optie kunt u gebruiken om het failoverproces te testen of om de primaire regio voor schrijfbewerkingen te wijzigen. Als u een derde regio toevoegt, komt op dezelfde pagina de optie Failoverprioriteiten beschikbaar. Hiermee kunt u de failovervolgorde voor leesbewerkingen wijzigen.

Globale databaseregio's selecteren

Er zijn twee gangbare scenario's voor het configureren van twee of meer regio's:

  1. Gegevenstoegang met lage latentie bieden aan eindgebruikers, ongeacht waar deze zich bevinden
  2. Regionale tolerantie toevoegen voor bedrijfscontinuïteit en herstel na noodgevallen (BCDR)

In het eerste geval wordt het aanbevolen om zowel de toepassing als Azure Cosmos DB te implementeren in de regio's die overeenkomen met de gebieden waar de gebruikers van de toepassing zich bevinden.

Voor BCDR is het raadzaam om regio's toe te voegen op basis van de regioparen die worden beschreven in de replicatie tussen regio's in Azure: Bedrijfscontinuïteit en herstel na noodgevallen.

Regionale instellingen verifiëren

Een eenvoudige manier om uw globale configuratie te controleren met de API van Azure Cosmos DB voor MongoDB is door de isMaster() -opdracht uit te voeren vanuit de Mongo Shell.

Vanuit de Mongo-shell:

   db.isMaster()

Voorbeeldresultaten:

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

Verbinding maken met een voorkeursregio

Met de API van Azure Cosmos DB voor MongoDB kunt u de leesvoorkeur van uw verzameling opgeven voor een globaal gedistribueerde database. Voor zowel leesbewerkingen met lage latentie als globale hoge beschikbaarheid raden wij u aan de leesvoorkeur van uw verzameling in te stellen op dichtstbijzijnde. De leesvoorkeur dichtstbijzijnde is geconfigureerd voor het lezen van de dichtstbijzijnde regio.

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

Voor toepassingen met een primaire lees-/schrijfregio en een secundaire regio voor noodherstelscenario's raden we u aan de leesvoorkeur van uw verzameling in te stellen op primaire voorkeur. Een leesvoorkeur van de primaire voorkeur is geconfigureerd om te lezen uit de secundaire regio wanneer de primaire regio niet beschikbaar is.

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

Tot slot wilt u mogelijk uw leesregio’s handmatig opgeven. U kunt de regiotag instellen in uw leesvoorkeur.

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

En daarmee is deze zelfstudie voltooid. Informatie over het beheren van de consistentie van uw wereldwijd gerepliceerde account kunt u vinden in Consistentieniveaus in Azure Cosmos DB. En voor meer informatie over hoe wereldwijde databasereplicatie werkt in Azure Cosmos DB, gaat u naar Gegevens wereldwijd distribueren met Azure Cosmos DB.

Volgende stappen

In deze zelfstudie hebt u het volgende gedaan:

  • Wereldwijde distributie configureren met behulp van Azure Portal
  • Globale distributie configureren met behulp van de API van Azure Cosmos DB voor MongoDB

U kunt nu doorgaan met de volgende zelfstudie voor informatie over lokaal ontwikkelen met behulp van de lokale Azure Cosmos DB-emulator.

Wilt u capaciteitsplanning uitvoeren voor een migratie naar Azure Cosmos DB? U kunt informatie over uw bestaande databasecluster gebruiken voor capaciteitsplanning.