Двухфазный коммит (2PC)

Автор: Randy Alexander
Дата создания: 3 Апрель 2021
Дата обновления: 26 Июнь 2024
Anonim
Распределенные транзакции / Что выбрать? Saga или 2pc? / Как подружить микросервисы
Видео: Распределенные транзакции / Что выбрать? Saga или 2pc? / Как подружить микросервисы

Содержание

Определение - что означает двухфазный коммит (2PC)?

Двухфазная фиксация - это стандартизированный протокол, который обеспечивает реализацию фиксации базы данных в ситуации, когда операция фиксации должна быть разбита на две отдельные части.


В управлении базой данных сохранение изменений данных называется фиксацией, а отмена изменений - откатом. Оба могут быть легко достигнуты с помощью ведения журнала транзакций, когда задействован один сервер, но когда данные распределены по географически разнородным серверам в распределенных вычислениях (т. Е. Каждый сервер является независимой сущностью с отдельными записями журнала), процесс может стать более сложным ,

Введение в Microsoft Azure и Microsoft Cloud | Из этого руководства вы узнаете, что такое облачные вычисления и как Microsoft Azure может помочь вам перенести и запустить свой бизнес из облака.

Techopedia объясняет двухэтапную фиксацию (2PC)

В распределенной транзакции требуется специальный объект, известный как координатор. Как следует из его названия, координатор организует действия и синхронизацию между распределенными серверами. Двухфазная фиксация реализуется следующим образом:

Этап 1 - Каждый сервер, которому необходимо зафиксировать данные, записывает свои записи данных в журнал. Если сервер неудачен, он отвечает сбоем. В случае успеха сервер отвечает OK.


Этап 2 - Эта фаза начинается после того, как все участники ответят ОК. Затем координатор передает сигнал каждому серверу с инструкциями по фиксации. После фиксации каждый записывает коммит как часть своей записи в журнале для справки и сообщает координатору, что его коммит был успешно реализован. Если сервер выходит из строя, координатор дает указание всем серверам откатить транзакцию. После того, как серверы откатятся, каждый ответит, что это было выполнено.