Общие сведения⚓︎
FlowMaster предназначен для проектирования, построения, запуска и исполнения процессов потоковой обработки данных на базе Kubernetes.
Процессы и Модули⚓︎
Процесс во FlowMaster представляет собой последовательность модулей, которые соединены между собой связями. Модуль – функциональный блок, состоящий из пользовательского обработчика и отвечающий за выполнение определенной задачи.
FlowMaster оркестрирует задачи, поступившие в процесс, и отвечает за то, чтобы они были переданы на исполнение в соответствующий обработчик (модуль), а также позволяет интегрировать между собой различные обработчики без необходимости написания дополнительного "обвязочного" кода.
Обработка Задач⚓︎
После выполнения соответствующей операции внутри (модуля / обработчика), он возвращает результат своей работы, который может быть передан другим модулям через их связь. Обработчики (Модули) платформы универсальны и могут работать со всеми брокерами сообщений, которые поддерживает FlowMaster без необходимости каких-либо изменений.
На связях к задачам могут применяться трансформации, использующие язык JQ. Передача задач по связи может быть с условием, которое описывается с помощью языка JSONLogic.
Предусмотрена возможность обращения из одного процесса в другой, в том числе с получением результата обработки задачи вызываемым процессом в целевой модуль вызывающего процесса.
FlowMaster гарантирует at least once обработку каждой задачи с гибкими возможностями для интеллектуальной обработки ошибок.
Типы Процессов⚓︎
Благодаря концепции batch and scheduled processes, FlowMaster может выполнять задачи, связанные не только с обработкой непрерывного потока данных/событий, но и задачи, требующие выполнения по расписанию, либо выполнения конечного набора действий.
Так, например, batch-процессы позволяют выполнить конкретную последовательность действий N раз с не более чем M выполняющимися параллельно процессами, а scheduled-процессы позволяют запускать batch-процессы заданное количество раз в определенные промежутки времени.
Пользовательский Интерфейс⚓︎
FlowMaster обладает развитым и интуитивно понятным пользовательским интерфейсом, выступающем в качестве условной среды визуального программирования, которая делает использование и настройку процессов доступными даже для пользователей без специальной технической подготовки.
Мониторинг и Метрики⚓︎
FlowMaster предоставляет набор метрик для наблюдения за состоянием системы:
- Количество выполненных задач
- Количество задач, выполнение которых завершилось с ошибкой
- Затраченное на выполнение задачи время
Помимо вышеуказанных метрик, на уровне модуля доступна аналитика исходящего потока задач, позволяющая отслеживать, в какие последующие модули и в каком объеме были направлены задачи.
Функциональные характеристики⚓︎
- запуск процессов обработки данных
- фильтрация данных в связях с использованием языка
JSONLogic
- передача данных из одного процесса в другой
- вечные и бачовые процессы
- постановка процессов на регламент
- поддержка нескольких брокеров сообщений
- интуитивный UI
- мониторинг выполнения процессом задач