Dela via


Hög tillgänglighet i Azure Cosmos DB för MongoDB vCore

GÄLLER FÖR: MongoDB vCore

Hög tillgänglighet i regionen (HA) förhindrar databasavbrott genom att upprätthålla sekundära kopior av varje delmängd i ett kluster. Om en skärva av någon anledning inte svarar växlar Azure Cosmos DB for MongoDB vCore inkommande anslutningar från den misslyckade skärvan till dess reservskärva. När failover sker har främjade shards alltid uppdaterade data via synkron replikering.

Alla primära shards i ett kluster etableras i en tillgänglighetszon (AZ) för bättre svarstid mellan fragmenten. Standby-shards etableras i en annan tillgänglighetszon.

Även utan HA aktiverat har varje shard sin egen lokalt redundanta lagring (LRS) med tre synkrona repliker som underhålls av Azure Storage-tjänsten. Alla tre replikerna finns i klustrets Azure-region. Om det uppstår ett fel med en enskild replik identifierar Azure Storage-tjänsten den och återskapar transparent den misslyckade repliken. Se mått på den här sidan för hållbarhet för LRS-lagring.

När HA är aktiverat kör Azure Cosmos DB for MongoDB vCore en standby-shard för varje primär shard i klustret. Varje primär- och standby-shard har samma beräknings- och lagringskonfiguration. Primärsystemet och dess standby använder synkron replikering. Med den här typen av replikering kan du alltid ha samma data på de primära och vänteläges-shardsna i klustret. I ett nötskal identifierar vår tjänst ett fel på primära shards och redundansväxlar över till standby-shards med noll dataförlust.

Klustrets anslutningssträng förblir alltid densamma oavsett felövergångar. Det gör att tjänsten kan abstrahera ändringar i fysiska shards som betjänar begäranden från program.

När hög tillgänglighet i regionen är aktiverat i klustret omfattas varje klustershard av serviceavtalet på 99,99 % (SLA) för tillgänglighet.

Hög tillgänglighet kan aktiveras när klustret skapas. Hög tillgänglighet kan också aktiveras och inaktiveras när som helst i ett befintligt Azure Cosmos DB for MongoDB vCore-kluster. Det finns ingen databasavbrottstid när hög tillgänglighet är aktiverad eller inaktiverad i ett Azure Cosmos DB for MongoDB vCore-kluster.

Vad händer under en redundansväxling

Varje shard-failover består av tre faser: Otillgänglighets-identifiering, växling till standby-shard och återskapande av standby-shard. Tjänsten utför löpande övervakning av tillgängligheten för varje primär- och reservshard i klustret genom att utföra periodiska hälsokontroller. När hälsokontrollen på ett tillförlitligt sätt konstaterar att en shard inte svarar och måste förklaras misslyckad, initieras en faktisk växling till standby-shard.

Under växlingsfasen omdirigeras databasläsningar och skrivningar till standby-fragmentet. Synkron replikering mellan varje primär- och väntelägesshard säkerställer att standby-shard alltid har samma uppsättning data som dess primära. Det gör att alla redundansväxlingar kan utföras utan dataförlust. Växlingen till vänteläge görs utan stilleståndstid för läsningar. Skrivåtgärder kan kräva interna tjänstförsök under växlingsfasen. Dessa återförsök kan uppfattas som skrivtröghet på programsidan.

När shard-redundansväxlingen har slutförts är klustret fullt fungerande. Det sista steget för att återgå till den ursprungliga konfigurationen med hög tillgänglighet är att återskapa standby-shard. Återskapandet av standby-fragmentet utförs utan avbrott eller prestandapåverkan på det primära fragmentet.