Вопрос с собеседования · Брокеры сообщений

Чем хореография саги отличается от оркестрации и когда что выбирают?

SeniorSaga и CDC
Ещё спрашивают так:
  • Хореография или оркестрация саги?
Коротко

Хореография — сервисы реагируют на события друг друга, центра нет. Оркестрация — координатор с машиной состояний отдаёт команды и ждёт ответов.

  • Хореография проще для 2–3 шагов, но процесс размазан и плохо виден
  • Оркестрация — явный процесс, проще мониторинг и компенсации, но координатор — отдельный сервис
  • Инструменты оркестрации: Temporal, Camunda, свой координатор

А ещё Сложные процессы с многими шагами — почти всегда оркестрация

Подробно

Выбор определяется сложностью процесса. Пока шагов два-три и логика проста, хореография отлично работает: связность минимальна, новый подписчик добавляется без правки существующих. Как только шагов становится больше, появляется главная проблема: общий сценарий нигде не описан целиком, и на вопрос «на каком этапе сейчас заказ» ответить трудно, а отладка превращается в реконструкцию по логам. Оркестратор делает процесс явным, даёт понятные таймауты и повторы на каждом шаге и упрощает наблюдение — платой становится дополнительный компонент, который сам должен быть отказоустойчивым, и риск постепенно стянуть в него бизнес-логику участников. Компенсации нужны в обеих схемах.

Что хотят услышать

  • Определения обоих подходов.
  • Плюсы и минусы.
  • Критерии выбора.

Частые ошибки

  • Тянуть хореографию на длинный процесс с ветвлениями.
  • Превращать оркестратор в место, где живёт вся бизнес-логика.

Проверьте себя

Один верный вариант. Подумайте, потом откройте ответ.

Показать варианты и ответ
  • ✗Хореография использует синхронные вызовы, а оркестрация — асинхронные сообщения через брокер
  • ✗Оркестрация не требует компенсирующих действий
  • ✗Хореография применима только к двум сервисам
  • ✓Хореография — реакции на события без центра; оркестрация — координатор шлёт команды

Что спросят дальше

  • Как реализуют таймауты шагов в каждой из схем?
  • Как понять по симптомам, что пора переходить к оркестрации?

Разбор темы

Связанные вопросы

Партнёр платформы

Разбор собеседования с sotto

После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.

Разбор собеседования