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:
- Konfigurace globální distribuce pomocí webu Azure Portal
- Konfigurace globální distribuce pomocí rozhraní API služby Azure Cosmos DB pro MongoDB
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).
V levém panelu na webu Azure Portal klikněte na Azure Cosmos DB.
Na stránce Azure Cosmos DB vyberte účet databáze, který chcete upravit.
V nabídce na stránce účtu klikněte na Globální replikace dat.
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.
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:
- 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í.
- 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.
- Pokud víte, že je počet virtuálních jader a serverů ve vašem existujícím databázovém clusteru, přečtěte si o odhadu jednotek žádostí pomocí virtuálních jader nebo virtuálních procesorů.
- Pokud znáte typické sazby požadavků pro vaši aktuální úlohu databáze, přečtěte si informace o odhadu jednotek žádostí pomocí plánovače kapacity služby Azure Cosmos DB.