Сага — паттерн управления распределёнными транзакциями без двухфазного коммита. Транзакция разбивается на локальные шаги, каждый с компенсирующим действием (откатом).
Пример: заказ в e-commerce: 1. Списать деньги → компенсация: вернуть деньги 2. Зарезервировать товар → компенсация: отменить резерв 3. Создать доставку → компенсация: отменить доставку
Два подхода:
- Хореография: каждый сервис слушает события и реагирует. Проще, но сложно отслеживать
- Оркестрация: центральный координатор управляет шагами. Нагляднее, но single point