Comitet cu două faze (2PC)

Autor: Randy Alexander
Data Creației: 3 Aprilie 2021
Data Actualizării: 26 Iunie 2024
Anonim
Cisco Packet Tracer Basic Networking - Static Routing using 2 routers
Video: Cisco Packet Tracer Basic Networking - Static Routing using 2 routers

Conţinut

Definiție - Ce înseamnă angajamentul în două faze (2PC)?

Un angajament în două faze este un protocol standardizat care asigură implementarea unui angajament de bază de date în situația în care o operațiune de angajare trebuie împărțită în două părți separate.


În gestionarea bazelor de date, salvarea modificărilor de date este cunoscută ca o angajare și anularea modificărilor este cunoscută sub numele de rollback. Ambele pot fi obținute cu ușurință folosind jurnalul de tranzacții atunci când este implicat un singur server, dar atunci când datele sunt răspândite pe servere diverse din punct de vedere geografic în calcul distribuit (adică, fiecare server fiind o entitate independentă cu înregistrări de jurnal separate), procesul poate deveni mai complicat. .

O introducere în Microsoft Azure și Microsoft Cloud | În acest ghid, veți afla despre ce este vorba despre cloud computing și despre cum Microsoft Azure vă poate ajuta să migrați și să conduceți afacerea din cloud.

Techopedia explică angajamentul în două faze (2PC)

Un obiect special, cunoscut sub numele de coordonator, este necesar într-o tranzacție distribuită. După cum îi spune numele, coordonatorul organizează activități și sincronizare între serverele distribuite. Angajamentul în două faze este implementat după cum urmează:


Faza 1 - Fiecare server care trebuie să comită date își scrie înregistrările de date în jurnal. Dacă un server nu reușește, acesta răspunde cu un eșec. Dacă are succes, serverul răspunde cu un OK.

Faza 2 - Această fază începe după ce toți participanții răspund OK. Apoi, coordonatorul transmite un semnal către fiecare server cu instrucțiuni de angajare. După comitere, fiecare scrie comiterea ca parte a înregistrării sale de jurnal pentru referință și coordonatorul a că angajamentul său a fost implementat cu succes. Dacă un server nu reușește, instrucțiunile coordonatorului către toate serverele să redea tranzacția. După ce serverele se rostogolesc, fiecare dintre feedback-urile că aceasta a fost finalizată.