Sdílet prostřednictvím


Nastavení globální distribuované databáze pomocí rozhraní API služby Azure Cosmos DB pro MongoDB

PLATÍ PRO: MongoDB

V tomto článku si ukážeme, jak pomocí webu Azure Portal nastavit globální distribuovanou databázi a připojit se k ní pomocí rozhraní API služby Azure Cosmos DB pro MongoDB.

Tento článek se zabývá následujícími úkony:

Přidání globálních oblastí databáze pomocí webu Azure Portal

Azure Cosmos DB je k dispozici ve všech oblastech Azure po celém světě. Po výběru výchozí úrovně konzistence účtu databáze k němu můžete přidružit jednu nebo několik oblastí (v závislosti na výběru výchozí úrovně konzistence a potřebách globální distribuce).

  1. V levém panelu na webu Azure Portal klikněte na Azure Cosmos DB.

  2. Na stránce Azure Cosmos DB vyberte účet databáze, který chcete upravit.

  3. V nabídce na stránce účtu klikněte na Globální replikace dat.

  4. Na stránce Globální replikace dat vyberte kliknutím na oblasti na mapě oblasti, které chcete přidat nebo odebrat, a pak klikněte na Uložit. Za přidání oblastí se neúčtují žádné poplatky. Další informace najdete na stránce s cenami nebo v článku Globální distribuce dat pomocí služby Azure Cosmos DB.

    Přidání nebo odebrání oblastí kliknutím na oblasti na mapě

Po přidání druhé oblasti se na stránce portálu Globální replikace dat povolí možnost Ruční převzetí služeb při selhání. Pomocí této možnosti můžete otestovat proces převzetí služeb při selhání nebo změnit primární oblast pro zápis. Po přidání třetí oblasti se na stejné stránce povolí možnost Priority převzetí služeb při selhání, abyste mohli změnit pořadí převzetí služeb při selhání pro čtení.

Výběr globálních oblastí databáze

Pro konfiguraci dvou nebo více oblastí existují dva běžné scénáře:

  1. Poskytování přístupu k datům s nízkou latencí koncovým uživatelům po celém světe bez ohledu na to, kde se nacházejí.
  2. Přidání oblastní odolnosti pro zajištění provozní kontinuity a zotavení po havárii (BCDR)

Pro zajištění nízké latence pro koncové uživatele se doporučuje nasadit aplikaci i službu Azure Cosmos DB v oblastech, které odpovídají umístění uživatelů aplikace.

Pro BCDR se doporučuje přidat oblasti na základě párů oblastí popsaných v replikaci mezi oblastmi v Azure: Provozní kontinuita a zotavení po havárii.

Ověření místního nastavení

Jednoduchý způsob, jak zkontrolovat globální konfiguraci pomocí rozhraní API služby Azure Cosmos DB pro MongoDB, je spustit příkaz isMaster() z Prostředí Mongo Shell.

V prostředí Mongo Shell:

   db.isMaster()

Příklad výsledků:

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

Připojení k upřednostňované oblasti

Rozhraní API služby Azure Cosmos DB pro MongoDB umožňuje zadat předvolbu čtení kolekce pro globálně distribuovanou databázi. Pro zajištění nízké latence čtení a globální vysoké dostupnosti doporučujeme nastavit předvolby kolekce pro čtení na nearest (nejbližší). Předvolba pro čtení nearest (nejbližší) je nakonfigurovaná pro čtení z nejbližší oblasti.

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

Pro aplikace s primární oblastí pro čtení a zápis a sekundární oblastí pro scénáře zotavení po havárii doporučujeme nastavit předvolbu čtení kolekce na upřednostňovanou primární. Předvolba čtení upřednostňovaného primárního serveru je nakonfigurovaná tak, aby se četla ze sekundární oblasti, pokud primární oblast není k dispozici.

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

A konečně, oblasti pro čtení můžete zadat ručně. Provedete to nastavením značky region (oblast) v předvolbách pro čtení.

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

To je vše, tento kurz je u konce. Informace o správě konzistence vašeho globálně replikovaného účtu najdete v tématu Úrovně konzistence ve službě Azure Cosmos DB. Další informace o fungování globální replikace databází ve službě Azure Cosmos DB najdete v tématu Globální distribuce dat pomocí služby Azure Cosmos DB.

Další kroky

V tomto kurzu jste provedli následující:

  • Konfigurace globální distribuce pomocí webu Azure Portal
  • Konfigurace globální distribuce pomocí rozhraní API služby Azure Cosmos DB pro MongoDB

Teď můžete přejít k dalšímu kurzu, ve kterém se naučíte vyvíjet místně s využitím místního emulátoru služby Azure Cosmos DB.

Pokoušíte se naplánovat kapacitu migrace do služby Azure Cosmos DB? Informace o stávajícím databázovém clusteru můžete použít k plánování kapacity.