Оглавление:
Определение - что означает двухфазный коммит (2PC)?
Двухфазная фиксация - это стандартизированный протокол, который обеспечивает реализацию фиксации базы данных в ситуации, когда операция фиксации должна быть разбита на две отдельные части.
В управлении базой данных сохранение изменений данных называется фиксацией, а отмена изменений - откатом. Оба могут быть легко достигнуты с помощью ведения журнала транзакций, когда задействован один сервер, но когда данные распределены по географически разнородным серверам в распределенных вычислениях (т. Е. Каждый сервер является независимой сущностью с отдельными записями журнала), процесс может стать более сложным,
Techopedia объясняет двухэтапную фиксацию (2PC)
В распределенной транзакции требуется специальный объект, известный как координатор. Как следует из его названия, координатор организует действия и синхронизацию между распределенными серверами. Двухфазная фиксация реализуется следующим образом:
Этап 1 - Каждый сервер, которому необходимо зафиксировать данные, записывает свои записи данных в журнал. Если сервер неудачен, он отвечает сообщением об ошибке. В случае успеха сервер отвечает сообщением OK.
Этап 2 - Эта фаза начинается после того, как все участники ответят ОК. Затем координатор отправляет сигнал каждому серверу с инструкциями по фиксации. После фиксации каждый записывает коммит как часть своей записи журнала для справки и отправляет координатору сообщение о том, что его фиксация была успешно реализована. В случае сбоя сервера координатор отправляет всем серверам инструкции для отката транзакции. После отката серверов каждый отправляет отзыв, что это было выполнено.
