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) undviker databasavbrott genom att underhålla väntelägesrepliker av varje shard i ett kluster. Om ett fragment av någon anledning inte svarar växlar Azure Cosmos DB for MongoDB vCore inkommande anslutningar från den misslyckade fragmentet till dess vänteläge. När redundansväxling sker har upphöjda shards alltid nya 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. Den primära och dess vänteläge 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.
Klustret niska veze alltid vara detsamma oavsett redundansväxlingar. 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-redundans består av tre faser: Otillgänglighetsidentifiering, 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 väntelägesshard i klustret genom att utföra periodiska hälsokontroller. När hälsokontrollen på ett tillförlitligt sätt anger att shard inte svarade och måste deklareras som misslyckad initieras den faktiska redundansväxlingen (växla) 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 ses som långsamma skrivåtgärder 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. Den här standby-shard-återskapandet utförs utan avbrott eller prestandapåverkan på den primära fragmentet.