IT-словарь › Базы данных › Компенсация в саге

Компенсация в саге

Базы данных Svenska → Обновлено: 2026-10-18

Паттерн отмены многошаговой распределённой транзакции («саги») через явные компенсирующие действия для каждого уже выполненного шага вместо отката базы; обычный способ сохранить согласованность между микросервисами без распределённых транзакций.

Операцию из нескольких сервисов (билет, отель, прокат машины) нельзя уместить в одну транзакцию или 2PC: у сервисов свои базы, а 2PC плохо масштабируется. Сага разбивает её на локальные транзакции по сервисам; если поздний шаг падает, запускаются компенсирующие транзакции, «отменяющие» предыдущие (отменить отель, вернуть деньги за билет). Важно: компенсация семантическая, а не точный откат — деньги возвращают, время не отматывают. Два стиля: хореография (сервисы реагируют на события друг друга) и оркестрация (центральный координатор ведёт процесс). Компенсации должны быть идемпотентными. Краеугольный камень микросервисной архитектуры.

← Назад к словарю