Potrebno nam je pipeline engine — mehanizam koji će omogućiti vrlo brzo kreiranje tokova putem unosa ugovora i parametara. Kako bi to realizovao na višem nivou?
sobes.tech АИ
Одговор од АИ
Для реализации pipeline engine на верхнем уровне я бы предложил следующую архитектуру:
-
Контракты как декларативные описания шагов — каждый контракт описывает, какие операции нужно выполнить, с какими параметрами и в каком порядке.
-
Параметры как входные данные — позволяют конфигурировать поведение каждого шага без изменения кода.
-
Диспетчер или оркестратор — принимает контракт и параметры, строит DAG (ориентированный ацикличный граф) задач, чтобы определить порядок выполнения.
-
Исполнитель шагов — запускает задачи параллельно или последовательно, в зависимости от зависимостей.
-
Кэширование и мониторинг — для ускорения повторных запусков и отслеживания состояния.
Примерно так:
Вход: контракт + параметры
↓
Парсер контракта → построение DAG
↓
Исполнитель DAG → запуск шагов
↓
Мониторинг и логирование
Для быстрого создания потоков важно, чтобы контракты были декларативными и легко расширяемыми, а механизм исполнения — масштабируемым и отказоустойчивым.