Magas rendelkezésre állás a MongoDB virtuális maghoz készült Azure Cosmos DB-ben
A KÖVETKEZŐKRE VONATKOZIK: MongoDB virtuális mag
A régión belüli magas rendelkezésre állás (HA) a fürt minden szegmensének készenléti replikáinak karbantartásával elkerüli az adatbázis állásidejét. Ha egy szegmens bármilyen okból nem válaszol, a MongoDB-hez készült Azure Cosmos DB virtuális mag a sikertelen szegmensből a készenléti állapotba váltja a bejövő kapcsolatokat. Feladatátvétel esetén az előléptetett szegmensek mindig friss adatokkal rendelkeznek szinkron replikációval.
A fürt összes elsődleges szegmense egy rendelkezésre állási zónába (AZ) van kiépítve a szegmensek közötti jobb késés érdekében. A készenléti szegmensek egy másik rendelkezésre állási zónába vannak kiépítve.
A HA engedélyezése nélkül is minden szegmens saját helyileg redundáns tárolóval (LRS) rendelkezik, három szinkron replikával, amelyeket az Azure Storage szolgáltatás tart fenn. Mindhárom replika a fürt Azure-régiójában található. Egyetlen replikahiba esetén az Azure Storage szolgáltatás észleli, és transzparensen újra létrehozza a sikertelen replikát. Az LRS-tároló tartósságát az ezen a lapon található metrikákban tekinti meg.
Ha a HA engedélyezve van, az Azure Cosmos DB for MongoDB vCore egy készenléti szegmenst futtat a fürt minden elsődleges szegmenséhez. Minden elsődleges és készenléti szegmens ugyanazzal a számítási és tárolási konfigurációval rendelkezik. Az elsődleges és a készenléti állapot szinkron replikációt használ. Ez a replikációtípus lehetővé teszi, hogy mindig ugyanazokat az adatokat használja a fürt elsődleges és készenléti szegmenseihez. Dióhéjban szolgáltatásunk észleli az elsődleges szegmensek meghibásodását, és nulla adatvesztéssel rendelkező készenléti szegmensekre irányítja át a feladatokat.
A fürt kapcsolati sztring feladatátvételtől függetlenül mindig ugyanaz marad. Ez lehetővé teszi a szolgáltatás számára az alkalmazások kéréseit kiszolgáló fizikai szegmensek változásainak absztrakcióját.
Ha a régión belüli magas rendelkezésre állás engedélyezve van a fürtön, minden fürt szegmensére kiterjed a rendelkezésre állásra vonatkozó 99,99%-os szolgáltatásiszint-szerződés (SLA).
A magas rendelkezésre állás a fürt létrehozásakor engedélyezhető. A magas rendelkezésre állás bármikor engedélyezhető és letiltható egy meglévő Azure Cosmos DB for MongoDB virtuális magfürtön. Nincs adatbázis-állásidő, ha a magas rendelkezésre állás engedélyezve van vagy le van tiltva egy Azure Cosmos DB for MongoDB virtuálismag-fürtön.
Mi történik a feladatátvétel során?
Minden szegmens feladatátvétele három fázisból áll: Elérhetetlenség észlelése, váltás a készenléti szegmensre, és a készenléti szegmens újbóli létrehozása. A szolgáltatás rendszeres állapot-ellenőrzéssel folyamatosan monitorozza a fürt egyes elsődleges és készenléti szegmenseinek rendelkezésre állását. Ha az állapot-ellenőrzés megbízhatóan jelzi, hogy a szegmens nem válaszol, és sikertelennek kell minősíteni, a rendszer elindítja a tényleges feladatátvételt (váltást) a készenléti szegmensre.
A váltási fázis során a rendszer átirányítja az adatbázis olvasásait és írásait a készenléti szegmensre. Az egyes elsődleges és készenléti szegmensek közötti szinkron replikáció biztosítja, hogy a készenléti szegmens mindig ugyanazzal az adatkészlettel rendelkezzen, mint az elsődleges. Ez lehetővé teszi az összes feladatátvételt nulla adatvesztéssel. A készenléti állapotra váltás állásidő nélkül történik az olvasásokhoz. Az írási műveletekhez belső szolgáltatási újrapróbálkozási műveletekre lehet szükség a váltási fázis során. Ezek az újrapróbálkozések írási lassúságnak tekinthetők az alkalmazás oldalán.
A szegmens feladatátvételének befejezése után a fürt teljesen működőképes. Az eredeti magas rendelkezésre állású konfigurációhoz való visszatérés utolsó lépése a készenléti szegmens újbóli létrehozása. Ez a készenléti szegmens újralétrehozása állásidő vagy az elsődleges szegmens teljesítményre gyakorolt hatása nélkül történik.