Опишите паттерн распределённых транзакций Saga: оркестрация против хореографии, а также принципы проектирования компенсирующих транзакций.

Saga — последовательность локальных транзакций с компенсациями вместо общей ACID-транзакции. Оркестратор управляет шагами явно; при хореографии участники реагируют на события друг друга.

Короткий ответ

Что ответить на собеседовании

Saga — последовательность локальных транзакций с компенсациями вместо общей ACID-транзакции. Оркестратор управляет шагами явно; при хореографии участники реагируют на события друг друга.

Подробный разбор

Ответ с пояснениями

Saga — последовательность локальных транзакций с компенсациями вместо общей ACID-транзакции. Оркестратор управляет шагами явно; при хореографии участники реагируют на события друг друга.

Оркестрация упрощает наблюдение за состоянием процесса, но требует надёжного координатора. Хореография уменьшает центральную связность, однако усложняет понимание цепочки и циклов событий. Компенсация — бизнес-действие вроде отмены резерва, а не точное восстановление прошлого; она может сама завершиться ошибкой. Нужны устойчивые состояния, повторы, идемпотентность, timeout и ручное разрешение тупиков. Необратимые шаги размещают осознанно; изоляция от параллельных процессов не появляется автоматически.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее