arkflow-rs/arkflow
High performance Rust stream processing engine seamlessly integrates AI capabilities, providing powerful real-time data processing and intelligent analysis.
ArkFlow – 基于 Rust 的流处理引擎,支持 AI 扩展
简介
- ArkFlow 是一个用 Rust 编写、基于 Tokio 异步运行时构建的开源高性能流处理平台。
- 它允许您从多种来源摄取数据,使用丰富的处理器集(SQL、Python UDF、Protobuf、VRL 等)进行转换,并将结果写入各种接收器。
- ArkFlow 的独特之处在于一流的 AI 处理器:您可以在流处理管道中调用与 OpenAI 兼容的 LLM API、生成嵌入、执行向量相似性搜索(Qdrant、Milvus、pgvector)。
主要功能
| 类别 | 亮点 |
|---|---|
| 性能 | Rust + Tokio → 低延迟、高吞吐量;通过每流 WAL 实现可选的 exactly-once 传递。 |
| 输入 | Kafka、MQTT、HTTP、文件(CSV/JSON/Parquet/Avro/Arrow)、SQL 数据库、NATS、Pulsar、Redis、WebSocket、Modbus、内存、合成生成器、复合多输入流。 |
| 处理 | 内置 JSON↔Arrow 转换、SQL 查询、Protobuf 编解码器、批处理窗口、VRL、Python UDF、嵌入(OpenAI 兼容)、LLM 聊天补全、向量搜索(Qdrant、Milvus、pgvector)、带缓存的查找增强。 |
| 输出 | Kafka、MQTT、HTTP、InfluxDB、MongoDB、NATS、Pulsar、Redis、SQL 数据库、stdout、丢弃、Qdrant、pgvector、Milvus。 |
| 缓冲区和窗口 | 内存缓冲区、会话窗口、滚动窗口(事件时间),以及已弃用的滑动窗口占位符。 |
| 编解码器 | JSON、Protobuf、Debezium CDC JSON、Confluent Schema Registry(Avro/Protobuf)。 |
| 控制平面 | 用于管理 ArkFlow 节点集群的可选 Hub 和 Web 控制台。 |
| 可扩展性 | 模块化架构;可将新的输入、输出、处理器或缓冲区作为插件添加。 |
典型用例
- 实时 IoT 遥测数据采集 → 使用 Python UDF 进行增强 → 通过 LLM 提示进行异常检测。
- 流式日志数据 → SQL 过滤 → 生成嵌入 → 在 Qdrant 中进行最近邻搜索以发出相似性警报。
- 数据库的 CDC(变更数据捕获) → Debezium JSON 解码 → 转换 → 写入下游 Kafka 主题。
- 为负载测试管道生成高频合成数据。
快速开始
# 克隆并构建(需要 Rust 工具链)
git clone https://github.com/arkflow-rs/arkflow.git
cd arkflow
cargo build --release
# 运行快速测试配置
cat > config.yaml <<'EOF'
logging:
level: info
streams:
- input:
type: "generate"
context: '{ "timestamp": 1625000000000, "value": 10, "sensor": "temp_1" }'
interval: 1s
batch_size: 10
pipeline:
thread_num: 4
processors:
- type: "json_to_arrow"
- type: "sql"
query: "SELECT * FROM flow WHERE value >= 10"
output:
type: "stdout"
error_output:
type: "stdout"
EOF
./target/release/arkflow --config config.yaml
该示例生成合成传感器记录,将 JSON 转换为 Arrow,使用 SQL 进行过滤,并输出匹配的行。
文档与社区
- 官方文档:https://arkflow-rs.com/docs/(包括 0.5.x 介绍)。
- 社区 Discord:https://discord.gg/CwKhzb8pux。
- 插件示例仓库:https://github.com/arkflow-rs/arkflow-plugin-examples。
许可证
- Apache License 2.0。
总结 ArkFlow 将 Rust 的速度和安全性、灵活的声明式流处理模型以及内置的 AI/ML 运算符相结合,使其成为需要实时数据管道且能够即时运行推理、生成嵌入或执行向量搜索的开发者的可靠选择。
相关
- 项目
- 项目
- 项目
- 项目
- 项目