Встречается на собеседованиях • сегодня
Что такое Saga в построении микросервисов
Saga — это паттерн для управления распределёнными транзакциями в микросервисной архитектуре. Вместо одной ACID-транзакции (как в монолите) Saga разбивает процесс на последовательность локальных транзакций, каждая в своём сервисе. Если что-то идёт не так, Saga запускает компенсирующие транзакции (откаты).
Типы Sagas:
- Оркестрируемые — центральный координатор управляет потоком.
- Хореографические — сервисы общаются через события.
Пример (оркестрируемая Saga):
python
def place_order_saga():
try:
payment_service.charge()
inventory_service.reserve_items()
shipping_service.schedule()
except Exception:
# Компенсация
payment_service.refund()
inventory_service.release_items()
shipping_service.cancel()Плюсы:
- Обходит ограничение распределённых транзакций
- Сохраняет согласованность данных
Минусы:
- Сложность отладки
- Нужно проектировать компенсации

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы