Съдържание:
- Определение - Какво означава двуфазен ангажимент (2PC)?
- Техопедия обяснява двуфазен ангажимент (2PC)
Определение - Какво означава двуфазен ангажимент (2PC)?
Двуфазен ангажимент е стандартизиран протокол, който гарантира, че ангажирането на базата данни се изпълнява в ситуацията, в която операцията за ангажиране трябва да бъде разбита на две отделни части.
В управлението на базата данни запазването на промените в данните е известно като фиксиране, а отменянето на промените е известно като връщане назад. И двете могат да бъдат постигнати лесно, като се използва регистриране на транзакции, когато е включен един сървър, но когато данните са разпределени на различни географски сървъри при разпределени изчисления (т.е. всеки сървър е независим обект с отделни записи в журнала), процесът може да стане по-сложен,
Техопедия обяснява двуфазен ангажимент (2PC)
При разпределена транзакция е необходим специален обект, известен като координатор. Както подсказва името му, координаторът организира дейности и синхронизация между разпределени сървъри. Двуфазният ангажимент се изпълнява, както следва:
Фаза 1 - Всеки сървър, който трябва да извърши данни, записва своите записи на данни в дневника. Ако сървърът е неуспешен, той отговаря със съобщение за грешка. При успех сървърът отговаря с OK съобщение.
Фаза 2 - Тази фаза започва, след като всички участници отговорят ОК. След това координаторът изпраща сигнал до всеки сървър с инструкции за ангажиране. След извършване, всеки записва ангажимента като част от своя дневник за справка и изпраща на координатора съобщение, че ангажиментът му е успешно изпълнен. Ако сървърът не успее, координаторът изпраща инструкции до всички сървъри да върнат транзакцията. След като сървърите се върнат обратно, всеки изпраща обратна връзка, че това е приключило.