Sdílet prostřednictvím


Vysoká dostupnost v Azure DocumentDB

Vysoká dostupnost v rámci regionu zabraňuje výpadkům databáze tím, že udržuje pohotovostní repliky každého shardu v clusteru. Pokud fragment z nějakého důvodu přestane reagovat, Azure DocumentDB přesměruje příchozí připojení z chybného fragmentu na záložní systém. Když dojde k převzetí služeb při selhání, povýšené shardy vždy mají aktuální data prostřednictvím synchronní replikace.

Všechny primární shardy v clusteru se zřizují do jedné zóny dostupnosti (AZ), aby se zlepšila latence mezi shardy. Záložní části jsou umístěny do jiné zóny dostupnosti.

I bez aktivované vysoké dostupnosti má každý shard vlastní místně redundantní úložiště (LRS) se třemi synchronizovanými replikami spravovanými službou Azure Storage. Všechny tři repliky se nacházejí v oblasti Azure clusteru. Pokud dojde k selhání jedné repliky, služba Azure Storage ji zjistí a transparentně znovu vytvoří neúspěšnou repliku. Podívejte se na metriky na této stránce o stálosti úložiště LRS.

Pokud je povolená vysoká dostupnost, Azure DocumentDB spustí jeden pohotovostní horizontální oddíl pro každý primární horizontální oddíl v clusteru. Každý primární a záložní horizontální oddíl má stejnou konfiguraci výpočetních prostředků a úložiště. Primární a jeho pohotovostní režim používají synchronní replikaci. Tento typ replikace umožňuje mít vždy stejná data na primárních a záložních shards v clusteru. Stručně řečeno, naše služba detekuje selhání na primárních shardech a přepne na záložní shardy s nulovou ztrátou dat.

Připojovací řetězec clusteru vždy zůstane stejný bez ohledu na převzetí služeb při selhání. To službě umožňuje izolovat změny ve fyzických oddílech, které obsluhují požadavky přicházející z aplikací.

Když je v regionu povolena vysoká dostupnost na clusteru, každý shard clusteru je pokryt 99.99% smlouvou o úrovni služeb (SLA) pro dostupnost.

Vysokou dostupnost je možné povolit při vytváření clusteru. Vysokou dostupnost je také možné kdykoli povolit a zakázat v existujícím clusteru Azure DocumentDB. Pokud je v clusteru Azure DocumentDB povolená nebo zakázaná vysoká dostupnost, neexistuje žádný výpadek databáze.

Co se stane během převzetí služeb

Každé převzetí řízení shardu se skládá ze tří fází: detekce nedostupnosti, přepnutí na pohotovostní shard a opětovné vytvoření pohotovostního shardu. Služba provádí průběžné monitorování dostupnosti jednotlivých primárních a záložních shardů v clusteru prostřednictvím pravidelných kontrol stavu. Když kontrola stavu spolehlivě indikuje, že shard přestal reagovat a musí být prohlášen za neúspěšný, zahájí se skutečné přepnutí na záložní shard.

Během fáze přepnutí se čtení a zápisy databáze přesměrují na záložní shard. Synchronní replikace mezi jednotlivými primárními a pohotovostními horizontálními oddíly zajišťuje, že pohotovostní horizontální oddíl bude mít vždy stejnou sadu dat jako primární. Umožňuje uskutečnit všechna převzetí služeb při selhání bez ztráty dat. Přepnutí do pohotovostního režimu se provádí bez výpadků v čtení. Operace zápisu můžou během fáze přepnutí vyžadovat interní opakování služby. Tyto opakování se na straně aplikace můžou považovat za pomalost zápisu.

Po dokončení přepnutí shardu je cluster plně funkční. Posledním krokem k návratu k původní konfiguraci s vysokou dostupností je znovu vytvořit záložní shard. Toto opětovné vytvoření pohotovostního horizontálního oddílu se provádí bez výpadků nebo dopadu na výkon primárního horizontálního oddílu.