Изменения

Перейти к: навигация, поиск

2 Phase Commit

32 байта добавлено, 21:24, 3 июня 2019
Нет описания правки
Алгоритм работает в две фазы:
# '''Запрос (request)''': координатор спрашивает каждого участника: "готов ли ты ''очень быстрои гарантированно'' завершить транзакцию?". Если кто-нибудь ответил "нет", то отменяем транзакцию. Если кто-то отвечает "да", то он должен уметь обеспечить завершение транзакции даже если упадёт и поднимается (например, все данные уже в журнале).
# '''Завершение''': координатор принимает решение о закреплении (commit) или отмене (rollback) транзакции и записывает его в свою надёжную память, после чего рассылает всем решение. После рассылки можно сообщить о фиксации транзакции, подтверждения от участников ждать не нужно (но тогда может быть проблема с тем, что следующие чтения из СУБД будут возвращать старые данные, пока не закоммитили).
292
правки

Навигация