Оркестратор – программный компонент, который координирует работу нескольких сервисов или шагов: вызывает их в нужном порядке, передаёт данные, ждёт ответов, повторяет при сбоях и выполняет компенсирующие действия. Термин используется в нескольких областях.
Виды оркестрации
- Оркестрация бизнес-процессов и микросервисов: движок процессов вызывает сервисы и хранит состояние длительных процессов (например, шаблон «сага» для распределённых транзакций).
- Оркестрация контейнеров: Kubernetes и аналоги управляют запуском, масштабированием и восстановлением контейнеров.
- Оркестрация данных: планировщики конвейеров данных запускают задания загрузки и трансформации по расписанию и зависимостям.
- Оркестрация RPA и ИИ-агентов: распределение заданий между роботами и агентами.
Оркестрация и хореография
При оркестрации есть центральный координатор, который знает весь процесс. При хореографии сервисы реагируют на события друг друга без центра. Оркестрация проще в контроле и отладке, хореография – слабее связывает сервисы.
Что важно при выборе
- Надёжное хранение состояния и повтор шагов.
- Мониторинг выполнения и поиск ошибок.
- Масштабируемость под нагрузку.