Встречается на собеседованиях • сегодня
Что такое паттерн SAGA
SAGA — это паттерн для управления распределёнными транзакциями в микросервисной архитектуре. Вместо одной долгой транзакции он разбивает операцию на последовательность локальных транзакций, каждая из которых выполняется в своём сервисе. Если что-то идёт не так, SAGA запускает компенсирующие транзакции для отката изменений.
Типы SAGA:
- Хореография (Choreography) — сервисы общаются через события, нет центрального координатора.
- Оркестрация (Orchestration) — центральный координатор управляет потоком транзакций.
Пример (оркестрация):
python
class OrderSaga:
def execute(self):
try:
payment_service.charge()
inventory_service.reserve()
shipping_service.schedule()
except Exception:
# Компенсация
payment_service.refund()
inventory_service.release()
shipping_service.cancel()Плюсы:
- Подходит для микросервисов.
- Избегает долгих блокировок.
Минусы:
- Сложность отладки.
- Не всегда можно обеспечить строгую согласованность.

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