Namai Duomenų bazės Kas yra dvifazis įsipareigojimas (2vnt)? - apibrėžimas iš techopedijos

Kas yra dvifazis įsipareigojimas (2vnt)? - apibrėžimas iš techopedijos

Turinys:

Anonim

Apibrėžimas - ką reiškia dviejų fazių įsipareigojimas (2PC)?

Dviejų fazių įsipareigojimas yra standartizuotas protokolas, užtikrinantis duomenų bazės įsipareigojimo įgyvendinimą, kai įsipareigojimo operacija turi būti padalinta į dvi atskiras dalis.

Duomenų bazės valdyme duomenų pakeitimų išsaugojimas yra žinomas kaip įsipareigojimas, o pakeitimų anuliavimas - kaip atšaukimas. Abu šiuos dalykus galima lengvai pasiekti naudojant operacijų registravimą, kai naudojamas vienas serveris, tačiau kai duomenys pasiskirsto skirtinguose geografiškai skirtinguose serveriuose (ty kiekvienas serveris yra nepriklausomas subjektas su atskirais žurnalo įrašais), procesas gali tapti sudėtingesnis. .

„Techopedia“ paaiškina dviejų fazių įsipareigojimą (2PC)

Paskirstytoje operacijoje reikalingas specialus objektas, žinomas kaip koordinatorius. Kaip rodo jo vardas, koordinatorius organizuoja veiklą ir sinchronizavimą tarp paskirstytų serverių. Dviejų etapų įsipareigojimas įgyvendinamas taip:

1 etapas - kiekvienas serveris, kuriam reikia pateikti duomenis, įrašo savo duomenų įrašus į žurnalą. Jei serveris nesėkmingas, jis reaguoja su gedimo pranešimu. Jei pavyks, serveris atsakys „OK“ pranešimu.

2 etapas - šis etapas prasideda po to, kai visi dalyviai reaguoja gerai. Tada koordinatorius siunčia signalą kiekvienam serveriui su vykdymo instrukcijomis. Po įsipareigojimo, kiekvienas rašo įsipareigojimą kaip savo žurnalo įrašo dalį nuoroda ir siunčia koordinatoriui pranešimą, kad jo įsipareigojimas buvo sėkmingai įgyvendintas. Jei serveris sugenda, koordinatorius siunčia nurodymus visiems serveriams, kad būtų galima atsisakyti operacijos. Po serverių atsistatymo kiekvienas siunčia atsiliepimą, kad tai baigta.

Kas yra dvifazis įsipareigojimas (2vnt)? - apibrėžimas iš techopedijos