Выбор ответа Senior Консистентность и CAP обновлено

Минус двухфазного коммита

Вопрос

Почему двухфазный коммит (2PC) редко используют между микросервисами?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Участники держат блокировки и виснут без координатора. 2PC атомарен, в этом его смысл, но платит блокирующим протоколом: после ответа «готов» участник ждёт решения и держит ресурсы, а при падении координатора ждёт его восстановления.

Варианты ответа

  1. Он не обеспечивает атомарность между участниками
  2. Участники держат блокировки и виснут без координатораправильный ответ
  3. Он работает лишь внутри одной таблицы одной базы
  4. Он запрещён в PostgreSQL и большинстве облачных БД

Разбор

2PC атомарен, в этом его смысл, но платит блокирующим протоколом: после ответа «готов» участник ждёт решения и держит ресурсы, а при падении координатора ждёт его восстановления. Между десятком сервисов это бьёт по доступности. 2PC работает между разными системами, а в PostgreSQL есть PREPARE TRANSACTION, так что он не запрещён.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.