Repolode
arkflow-rs

arkflow-rs/arkflow

Механизм потоковой обработки данных на Rust: выполняет SQL-запросы, Python UDF и шаги ML/LLM над потоками реального времени из Kafka, MQTT, NATS и других источников.

Звёзды
1,313
Форки
47
Открытые issues
29
Последний коммит
вчера

Что это?

ArkFlow — механизм потоковой обработки данных на Rust, работающий на асинхронном runtime Tokio. Потоки описываются в YAML: для каждого задаются вход, конвейер обработки, выход и необязательный выход для сообщений, которые не удалось обработать. Среди источников — Kafka, MQTT, NATS, Pulsar, Redis, WebSocket, HTTP, файлы и SQL-базы данных; среди выходов — Kafka, MongoDB, InfluxDB, SQL-базы данных и векторные хранилища, например Qdrant, Milvus и pgvector.

Шаги обработки включают SQL-запросы, пользовательские функции на Python, преобразования VRL, конвертацию JSON и Protobuf, а также пакетную обработку. В конвейере также есть процессоры для вызова API эмбеддингов и чата, совместимых с OpenAI, выполнения векторного поиска и обогащения строк данными из Redis. По умолчанию доставка сообщений выполняется как минимум один раз благодаря WAL для каждого потока; для транзакционных приёмников можно включить режим ровно один раз.

Дополнительно можно использовать Hub и веб-консоль, чтобы отслеживать и настраивать несколько узлов ArkFlow как единый кластер.

Ключевые возможности

  • 01Конвейеры потоковой обработки в YAML с входом, процессорами, выходом и выходом для ошибок
  • 02Шаги обработки с SQL, Python UDF, VRL и Protobuf
  • 03Коннекторы для Kafka, MQTT, NATS, Redis, SQL-баз данных и многих других систем
  • 04Процессоры для эмбеддингов, LLM и векторного поиска в задачах AI
  • 05Доставка как минимум один раз по умолчанию с помощью WAL для каждого потока

Сценарии использования

  • Фильтрация и преобразование топиков Kafka в реальном времени с помощью SQL
  • Обогащение потока сообщений эмбеддингами или LLM перед записью в векторную базу данных
  • Приём данных с IoT-датчиков по MQTT и запись в InfluxDB или SQL-базу данных
  • Синхронизация событий об изменениях в базе данных из топиков Kafka в формате Debezium

Быстрый старт

  1. 1

    Клонируйте репозиторий

    git clone https://github.com/arkflow-rs/arkflow.git
  2. 2

    Перейдите в каталог проекта

    cd arkflow
  3. 3

    Соберите проект в режиме release

    cargo build --release
  4. 4

    Запустите ArkFlow с файлом конфигурации

    ./target/release/arkflow --config config.yaml

Что важно знать

  • Для сборки из исходного кода требуется тулчейн Rust; в README не описана установка через менеджер пакетов.
  • Перед запуском файл конфигурации Quick Start нужно создать вручную под именем config.yaml.

Темы

Частые вопросы

Что такое arkflow?
Механизм потоковой обработки данных на Rust: выполняет SQL-запросы, Python UDF и шаги ML/LLM над потоками реального времени из Kafka, MQTT, NATS и других источников. ArkFlow — механизм потоковой обработки данных на Rust, работающий на асинхронном runtime Tokio. Потоки описываются в YAML: для каждого задаются вход, конвейер обработки, выход и необязательный выход для сообщений, которые не удалось обработать. Среди источников — Kafka, MQTT, NATS, Pulsar, Redis, WebSocket, HTTP, файлы и SQL-базы данных; среди выходов — Kafka, MongoDB, InfluxDB, SQL-базы данных и векторные хранилища, например Qdrant, Milvus и pgvector.
arkflow можно использовать бесплатно? Какая у него лицензия?
arkflow распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
arkflow всё ещё поддерживается?
Активно поддерживается. Последний коммит в arkflow — 21 окт. 2026 г..
Для чего можно использовать arkflow?
Фильтрация и преобразование топиков Kafka в реальном времени с помощью SQL Обогащение потока сообщений эмбеддингами или LLM перед записью в векторную базу данных Приём данных с IoT-датчиков по MQTT и запись в InfluxDB или SQL-базу данных Синхронизация событий об изменениях в базе данных из топиков Kafka в формате Debezium
Как установить arkflow?
Клонируйте репозиторий: git clone https://github.com/arkflow-rs/arkflow.git Перейдите в каталог проекта: cd arkflow Соберите проект в режиме release: cargo build --release Запустите ArkFlow с файлом конфигурации: ./target/release/arkflow --config config.yaml
Где скачать arkflow?
Исходный код и инструкции по установке — на GitHub: https://github.com/arkflow-rs/arkflow

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Фреймворк инкрементальных конвейеров данных на Python с ядром на Rust, который синхронизирует векторные индексы и графы знаний с меняющимися источниками для AI-агентов и RAG-приложений.

11,7 тыс.919RustApache-2.0Обновлён 23 часа назад