Dostupnost (spolehlivost) a zotavení po havárii (DR) ve službě Azure Cosmos DB pro virtuální jádro MongoDB: Na pozadí
PLATÍ PRO: Virtuální jádro MongoDB
Tento článek se zabývá interními informacemi o vysoké dostupnosti (HA) a zotavení po havárii napříč oblastmi pro azure Cosmos DB pro virtuální jádro MongoDB a uvádí návrh a možnosti těchto funkcí. Poskytuje přehledy pro efektivní plánování strategie v oblasti a napříč oblastmi, které zajišťují spolehlivost a kontinuitu podnikových procesů.
Anatomie clusteru Azure Cosmos DB pro MongoDB vCore
Cluster virtuálních jader Azure Cosmos DB pro MongoDB se skládá z jednoho nebo více fyzických horizontálních oddílů (uzlů). Každý fyzický horizontální oddíl zahrnuje vyhrazený výpočetní uzel a vzdálené úložiště SSD úrovně Premium. Výpočetní prostředky a prostředky úložiště fyzického horizontálního oddílu jsou exkluzivní pro jednu databázi a nesdílejí se mezi clustery nebo databázemi.
V clusterech s několika horizontálními oddíly má každý horizontální oddíl identickou konfiguraci výpočetních prostředků a úložiště. Bez ohledu na počet horizontálních oddílů se všechny prostředky clusteru hostují ve stejné oblasti Azure.
Azure Cosmos DB pro mongoDB vCore používá místně redundantní úložiště (LRS), takže se všechna data synchronně replikují třikrát v rámci fyzického umístění clusteru. Azure Storage transparentně spravuje tyto repliky, ověřuje integritu dat pomocí kontrol cyklické redundance (CRC) a opravuje všechna zjištěná poškození pomocí redundantních dat. Kontrolní součty se navíc použijí na síťový provoz, aby se zabránilo poškození dat během ukládání a načítání.
Obrázek 1 Komponenty clusteru Azure Cosmos DB pro MongoDB vCore
Bez ohledu na to, jestli se vaše aplikace připojuje k jednomu horizontálnímu nebo vícehardovém clusteru, používá jeden připojovací řetězec a koncový bod. Tato abstrakce zjednodušuje distribuované databázové operace, což usnadňuje připojení k nastavení více horizontálních oddílů jako k samostatné databázi MongoDB.
Vysoká dostupnost v jednotlivých oblastech (HA)
U produkčních úloh se důrazně doporučuje povolit vysokou dostupnost v jednotlivých oblastech, aby splňovaly moderní standardy spolehlivosti. I když je možné vysokou dostupnost zakázat pro vývoj nebo experimentální clustery, aby se snížily náklady, je důležité zachovat dostupnost databáze v produkčním prostředí.
Vysokou dostupnost je možné přepnout během zřizování clusteru nebo kdykoli po vytvoření clusteru. Je k dispozici ve všech oblastech Azure, které podporují virtuální jádro služby Azure Cosmos DB pro MongoDB bez ohledu na konkrétní regionální možnosti.
Pokud je povolená vysoká dostupnost, spáruje se každý primární fyzický horizontální oddíl v clusteru s pohotovostním horizontálním oddílem. Pohotovostní horizontální oddíl zrcadlí konfiguraci výpočetních prostředků a úložiště jeho primárního protějšku. Výsledkem je šest replik dat na horizontální oddíl – tři v primárním horizontálním oddílu a tři v pohotovostním režimu. V oblastech se zónami dostupnosti (AZ) se primární a pohotovostní horizontální oddíly nasazují v samostatných zónách.
Data se synchronně replikují mezi jednotlivými primárními a pohotovostními horizontálními oddíly. Zápisy se potvrdí až po úspěšném potvrzení obou horizontálních oddílů, což zajišťuje silnou konzistenci v clusteru s vysokou dostupností. Jinými slovy, pohotovostní fyzický horizontální oddíl je vždy aktuální úplná replika primárního fyzického horizontálního oddílu poskytující silnou konzistenci v clusteru s vysokou dostupností.
Obrázek 2 Cluster virtuálních jader Azure Cosmos DB pro MongoDB s povolenou vysokou dostupností (HA) a bez nich.
V případě selhání primárního horizontálního dělení služba automaticky provede převzetí služeb při selhání do pohotovostního horizontálního oddílu. Během převzetí služeb při selhání se všechny požadavky na čtení a zápis přesměrují do pohotovostního horizontálního oddílu, který se stane novým primárním oddílem. Probíhající operace zápisu během převzetí služeb při selhání se v rámci služby opakuje, aby se zajistila kontinuita. Potom se vytvoří náhradní horizontální oddíl, který znovu vytvoří synchronní replikaci a stane se novým pohotovostním úložištěm.
Replikace mezi oblastmi: Regionální zotavení po havárii (DR)
I když jsou regionální výpadky vzácné, mohou narušit přístup k databázi. Replikace mezi oblastmi poskytuje robustní strategii zotavení po havárii (DR), která zajišťuje přístup k datům i při rozsáhlých přerušeních.
Pomocí replikace mezi oblastmi můžete vytvořit cluster repliky v jiné oblasti Azure. Každý horizontální oddíl v clusteru repliky asynchronně replikuje data z jeho protějšku v primárním clusteru. Tento model replikace zajišťuje konečnou konzistenci a současně minimalizuje dopad na výkon na primární cluster.
Asynchronní replikace zabraňuje nutnosti okamžitého doručení každé operace zápisu a potvrzení replikami před odesláním potvrzení o dokončení zápisu zpět do aplikace. To ale znamená, že některé zápisy dokončené v primárním clusteru se ještě nemusí replikovat do clusteru repliky, což vede k prodlevě replikace. Rozsah prodlevy replikace závisí na intenzitě operací zápisu v primárním clusteru a celkovém zatížení primárního i replikačního clusteru.
V tomto nastavení:
- Primární cluster v oblasti A zpracovává všechna čtení a zápisy.
- Cluster repliky v oblasti B podporuje přístup jen pro čtení a umožňuje vysoce výkonné operace čtení blíže aplikacím nebo uživatelům v této oblasti.
Aplikace můžou provádět dotazy OLTP na primárním clusteru v oblasti A a intenzivní operace čtení, jako jsou dotazy OLAP nebo generování sestav, mohou odkazovat na cluster repliky v oblasti B.
Aplikace můžou používat dynamickou globální připojovací řetězec pro čtení i zápis, který vždy odkazuje na cluster otevřený pro zápisy. Během regionálního výpadku je možné cluster repliky v oblasti B zvýšit tak, aby přijímal zápisy. Globální připojovací řetězec se automaticky aktualizuje tak, aby odkazovaly na upřednostněný cluster a zajišťují nepřerušované operace zápisu.
Obrázek 3 Regionální zotavení po havárii (DR) s clusterem virtuálních jader Azure Cosmos DB pro MongoDB s povolenou replikací mezi oblastmi Cluster v oblasti B se zvýší tak, aby se stal novým clusterem pro čtení i zápis. Cluster v oblasti A se stane clusterem repliky.
Shrnutí dostupnosti v jednotlivých oblastech a možností zotavení po havárii mezi oblastmi
Následující tabulka shrnuje hlavní aspekty pro povolení a správu vysoké dostupnosti v jednotlivých oblastech a strategii zotavení po havárii mezi oblastmi.
Scénář | Funkce virtuálních jader Azure Cosmos DB pro MongoDB | Žádná ztráta dat | Ochrana před výpadky v celé oblasti | Automatické převzetí služeb při selhání | Žádná změna připojovací řetězec |
---|---|---|---|---|---|
Selhání fyzického horizontálního dělení | Vysoká dostupnost v jednotlivých oblastech (HA) | ✔️ | ❌ | ✔️ | ✔️ |
Regionální výpadek | Cluster repliky mezi oblastmi | ❌ | ✔️ | ❌ | ✔️† |
† Při použití globálního připojovací řetězec pro čtení i zápis.