SA Шпаргалка

Все ответы в 2 клика

Продвинутый

В чем разница между 2PC (Two-Phase Commit) и Saga?

Оба паттерна решают проблему распределенных транзакций.

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

  • Синхронный. Координатор блокирует записи во всех БД-участниках, спрашивает "Готовы?", и если все согласны — делает COMMIT.

  • Минус: Жесткие блокировки, низкая производительность, не работает при обрыве сети (нарушает CAP-теорему).


Saga (Сага):
  • Асинхронная. Разбивает процесс на цепочку локальных транзакций. Блокировок нет.

  • Если шаг падает, запускаются компенсирующие транзакции (откаты) для предыдущих шагов.

  • Плюс: Высокая скорость и масштабируемость. Идеально для микросервисов.

Сложная тема? Разберём на мок-интервьюЗаписаться на менторство →

Другие вопросы темы «Согласованность»

Ещё вопросы раздела «Архитектура»

Все вопросы раздела «Архитектура»