Repolode
arkflow-rs

arkflow-rs/arkflow

Engine de processamento de streams em Rust que executa SQL, UDFs em Python e etapas de ML/LLM em dados em tempo real de Kafka, MQTT, NATS e outras fontes.

Estrelas
1,314
Forks
47
Issues abertas
29
Último commit
há 4 horas

O que é?

O ArkFlow é um engine de processamento de streams escrito em Rust, usando o runtime assíncrono Tokio. Os streams são definidos em YAML, com uma entrada, um pipeline de processamento, uma saída e uma saída de erro opcional para mensagens que falharem. As entradas incluem Kafka, MQTT, NATS, Pulsar, Redis, WebSocket, HTTP, arquivos e bancos de dados SQL; as saídas incluem Kafka, MongoDB, InfluxDB, bancos de dados SQL e bancos vetoriais como Qdrant, Milvus e pgvector.

As etapas de processamento incluem consultas SQL, funções definidas pelo usuário em Python, transformações VRL, conversão de JSON e Protobuf e processamento em lotes. O pipeline também oferece processadores para chamar APIs de embeddings e chat compatíveis com OpenAI, executar buscas vetoriais e enriquecer linhas com consultas a dados armazenados no Redis. Por padrão, a entrega é pelo menos uma vez, com durabilidade via WAL por stream; há suporte opcional a exatamente uma vez para sinks transacionais.

Um Hub e um console web opcionais podem ser usados para monitorar e configurar vários nós do ArkFlow como uma frota.

Recursos principais

  • 01Pipelines de streams definidos em YAML, com entrada, processadores, saída e saída de erro
  • 02Etapas de processamento com SQL, UDFs em Python, VRL e Protobuf
  • 03Conectores para Kafka, MQTT, NATS, Redis, bancos de dados SQL e muitos outros
  • 04Processadores de embeddings, LLM e busca vetorial para cargas de trabalho de IA
  • 05Entrega pelo menos uma vez por padrão, via WAL por stream

Casos de uso

  • Filtrar e transformar tópicos Kafka em tempo real com SQL
  • Executar enriquecimento com embeddings ou LLM em um stream de mensagens antes de gravá-lo em um banco de dados vetorial
  • Ingerir dados de sensores IoT via MQTT e gravá-los no InfluxDB ou em um banco de dados SQL
  • Sincronizar eventos de alteração de banco de dados provenientes de tópicos Kafka no formato Debezium

Início rápido

  1. 1

    Clone o repositório

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

    Entre no diretório do projeto

    cd arkflow
  3. 3

    Compile o projeto no modo release

    cargo build --release
  4. 4

    Execute o ArkFlow com o arquivo de configuração

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

Antes de usar

  • É necessário ter a toolchain do Rust para compilar a partir do código-fonte; o README não documenta a instalação por um gerenciador de pacotes.
  • Antes de executar, é preciso criar manualmente o arquivo de configuração do Quick Start com o nome config.yaml.

Em coleções

Tópicos

Perguntas frequentes

O que é arkflow?
Engine de processamento de streams em Rust que executa SQL, UDFs em Python e etapas de ML/LLM em dados em tempo real de Kafka, MQTT, NATS e outras fontes. O ArkFlow é um engine de processamento de streams escrito em Rust, usando o runtime assíncrono Tokio. Os streams são definidos em YAML, com uma entrada, um pipeline de processamento, uma saída e uma saída de erro opcional para mensagens que falharem. As entradas incluem Kafka, MQTT, NATS, Pulsar, Redis, WebSocket, HTTP, arquivos e bancos de dados SQL; as saídas incluem Kafka, MongoDB, InfluxDB, bancos de dados SQL e bancos vetoriais como Qdrant, Milvus e pgvector.
arkflow é gratuito? Qual é a licença?
arkflow é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
arkflow ainda é mantido?
Manutenção ativa. O último commit de arkflow foi em 22 de out. de 2026.
Para que posso usar arkflow?
Filtrar e transformar tópicos Kafka em tempo real com SQL Executar enriquecimento com embeddings ou LLM em um stream de mensagens antes de gravá-lo em um banco de dados vetorial Ingerir dados de sensores IoT via MQTT e gravá-los no InfluxDB ou em um banco de dados SQL Sincronizar eventos de alteração de banco de dados provenientes de tópicos Kafka no formato Debezium
Como instalar arkflow?
Clone o repositório: git clone https://github.com/arkflow-rs/arkflow.git Entre no diretório do projeto: cd arkflow Compile o projeto no modo release: cargo build --release Execute o ArkFlow com o arquivo de configuração: ./target/release/arkflow --config config.yaml
Onde consigo arkflow?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/arkflow-rs/arkflow

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados