Встречается на собеседованиях • сегодня
Что такое паттерн SAGA
Паттерн SAGA — это подход к управлению распределёнными транзакциями в микросервисной архитектуре. Вместо одной ACID-транзакции он разбивает процесс на последовательность локальных транзакций, каждая из которых компенсируется в случае ошибки.
Ключевые моменты:
- Каждый сервис выполняет свою часть транзакции и публикует событие.
- Если что-то пошло не так, запускаются компенсирующие транзакции (откат).
- Есть два варианта реализации: хореография (события) и оркестрация (центральный координатор).
Пример (оркестрация):
java
// Оркестратор управляет процессом
class OrderSagaOrchestrator {
void execute(Order order) {
try {
inventoryService.reserveItems(order);
paymentService.processPayment(order);
shippingService.scheduleDelivery(order);
} catch (Exception e) {
// Компенсирующие действия
paymentService.refund(order);
inventoryService.releaseItems(order);
}
}
}Плюсы:
- Подходит для распределённых систем
- Обеспечивает согласованность данных
Минусы:
- Сложность отладки
- Нужно проектировать компенсационные транзакции

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