Средний
Что такое паттерн Saga (Сага)?
Saga — это архитектурный паттерн для реализации распределенных транзакций в микросервисах.
Так как в микросервисах нет единой БД, мы не можем сделать классический COMMIT для 3 разных сервисов.
Сага разбивает глобальную бизнес-транзакцию на серию локальных транзакций БД.
Если одна из локальных транзакций падает (например, нет денег на карте), Сага запускает компенсирующие транзакции в обратном порядке (отменяет бронь товара, отменяет начисление бонусов), чтобы вернуть систему в исходное консистентное состояние.