Kétfázisú kötelezettségvállalás (2PC)

Szerző: Randy Alexander
A Teremtés Dátuma: 3 Április 2021
Frissítés Dátuma: 26 Június 2024
Anonim
Kétfázisú kötelezettségvállalás (2PC) - Technológia
Kétfázisú kötelezettségvállalás (2PC) - Technológia

Tartalom

Meghatározás - Mit jelent a kétfázisú elkötelezettség (2PC)?

A kétfázisú véglegesítés egy szabványosított protokoll, amely biztosítja az adatbázis-végrehajtás végrehajtását abban a helyzetben, amikor a végrehajtási műveletet két különálló részre kell bontani.


Az adatbáziskezelés során az adatváltozások mentése kötelezettségvállalásként, a változások visszavonása pedig visszagörgetés. Mindkettő könnyen elérhető a tranzakciónaplózás segítségével, ha egyetlen szerver vesz részt, de ha az adatokat földrajzilag különféle kiszolgálókra osztják szét az elosztott számításban (azaz mindegyik szerver független entitás, külön naplórekordokkal), a folyamat trükkösebbé válhat. .

Bevezetés a Microsoft Azure és a Microsoft Cloud | A jelen útmutató során megtanulja, mi szól a felhőalapú számítástechnikából, és hogyan segítheti a Microsoft Azure a felhőből történő migrációt és az üzleti vállalkozás futtatását.

A Techopedia magyarázza a kétfázisú kötelezettségvállalást (2PC)

Egy elosztott tranzakcióhoz egy speciális objektumra, más néven koordinátorra van szükség. Amint a neve is sugallja, a koordinátor tevékenységeket és szinkronizálást szervez az elosztott szerverek között. A kétfázisú kötelezettségvállalást a következőképpen hajtják végre:


1. fázis - Minden kiszolgáló, amelynek adatot kell elküldenie, az adatrekordjait a naplóba írja. Ha egy kiszolgáló sikertelen, akkor egy hibakódra válaszol. Ha sikeres, a szerver OK-val válaszol.

2. fázis - Ez a szakasz akkor kezdődik, amikor minden résztvevő reagál OK. Ezután a koordinátor jelzést küld minden kiszolgálónak a végrehajtási utasításokkal. A kötelezettségvállalás után mindenki referenciaként rögzíti a kötelezettségvállalást a naplóbejegyzés részeként, és azt a koordinátort írja, hogy a kötelezettségvállalását sikeresen végrehajtotta. Ha egy szerver meghibásodik, a koordinátor utasításokat ad minden szervernek a tranzakció visszatekerésére. Miután a szerverek visszaléptek, minden visszajelzés arról szól, hogy ez befejeződött.