DEV.co
Open-Source Databases · ArroyoSystems

arroyo

Arroyo is a distributed stream processing engine written in Rust that processes high-volume real-time data with SQL as a first-class interface. It supports stateful operations like windows and joins, scales to millions of events per second, and includes connectors for Kafka and other data sources.

Source: GitHub — github.com/ArroyoSystems/arroyo
5k
GitHub stars
364
Forks
Rust
Primary language
Apache-2.0
License (OSI-approved)

Key facts

Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.

FieldValue
RepositoryArroyoSystems/arroyo
OwnerArroyoSystems
Primary languageRust
LicenseApache-2.0 — OSI-approved
Stars5k
Forks364
Open issues116
Latest releasev0.15.0 (2025-12-01)
Last updated2026-07-08
Sourcehttps://github.com/ArroyoSystems/arroyo

What arroyo is

Built in Rust, Arroyo implements the Dataflow model for time-oriented stream processing with stateful checkpointing for fault tolerance. It provides SQL-based pipeline definition, horizontal scaling capabilities, and integrations with Kafka, Iceberg, and other connectors; runs as a self-hosted binary or Docker container with a Web UI.

Quickstart

Get the arroyo source

Clone the repository and explore it locally.

terminalbash
git clone https://github.com/ArroyoSystems/arroyo.gitcd arroyo# follow the project's README for install & configuration

Need it deployed, integrated, or customized instead? DEV.co ships production installs.

Best use cases

Fraud Detection & Security Monitoring

Real-time detection of anomalous patterns in transaction or access logs with stateful windowing and joins across multiple data sources.

Real-Time Data Warehouse Ingestion

Continuous ingestion of streaming data into data warehouses or data lakes with checkpoint-based exactly-once semantics and Iceberg connector support.

Real-Time Analytics & Business Intelligence

Compute aggregations, counts, and metrics on live event streams with subsecond latency and emit results continuously to dashboards or APIs.

Implementation considerations

  • SQL is the primary pipeline definition language; teams must be comfortable writing streaming SQL (windowing, joins, time-based operations) rather than imperative code.
  • State management and checkpointing are core; understand fault-tolerance guarantees and recovery mechanisms before deploying stateful operations in production.
  • Cluster deployment requires Docker or binary management; plan for distributed coordination, state store provisioning, and operational monitoring.
  • Connector ecosystem is growing (Kafka, Iceberg documented); verify connector availability and maturity for your specific data sources before committing.
  • Project is pre-1.0 (v0.15.0 as of latest release); anticipate potential breaking changes and monitor release notes closely for production deployments.

When to avoid it — and what to weigh

  • Batch-Only Workloads — If your use case is entirely batch processing or micro-batching, traditional batch systems (Spark, Flink batch) may be simpler to operate.
  • Extremely Low Latency + High Consistency Guarantees Required — While Arroyo targets subsecond results, mission-critical systems requiring hardened SLAs should evaluate production maturity and operational tooling first.
  • No SQL Expertise or Simple Map-Reduce Pipelines — Arroyo emphasizes SQL; if your team prefers imperative code (Python, Go, Java) and builds simple stateless transformations, lighter frameworks may fit better.
  • Minimal Operational Infrastructure — Self-hosted Arroyo requires managing a distributed cluster (state stores, recovery, scaling); managed services like Cloudflare Pipelines are in beta and restricted to stateless pipelines.

License & commercial use

Dual-licensed under Apache License 2.0 and MIT. Both are permissive OSI-approved licenses allowing commercial use, modification, and distribution.

Apache 2.0 and MIT are permissive licenses; commercial use is permitted. However, verify your specific use case with legal counsel if integrating proprietary modifications or combining with proprietary code, and monitor license compliance for derivative works.

DEV.co evaluation signals

Editorial assessment — not user reviews. Directional, with an explicit confidence level.

SignalAssessment
MaintenanceActive
DocumentationAdequate
License clarityClear
Deployment complexityModerate
DEV.co fitGood
Assessment confidenceHigh
Security considerations

State checkpointing and recovery mechanisms are core but security hardening is not detailed in available data. Clarify: encryption-at-rest for state stores, encryption-in-transit for cluster communication, authentication/authorization for Web UI and API, audit logging, and supply chain security of Rust dependencies. No public security audit or disclosure policy stated; requires review.

Alternatives to consider

Apache Flink

Mature production streaming engine with broader language support (Java, Scala, Python); larger ecosystem and enterprise adoption, but steeper operational complexity and less SQL-first design.

Kafka Streams

Lightweight, JVM-native streaming library tightly coupled to Kafka; simpler operations for smaller-scale use cases, but fewer stateful features and no SQL interface.

Apache Spark Streaming / Spark Structured Streaming

Unified batch and streaming with Python/Scala/SQL support; large community and production adoption, but higher latency and resource overhead than pure streaming engines.

Software development agency

Build on arroyo with DEV.co software developers

Arroyo combines high-performance SQL with distributed stream processing. Get started with the single binary, evaluate in Docker, or explore the Cloudflare Pipelines beta. Reach out to our team for production planning.

Talk to DEV.co

Related open-source tools

Surfaced by semantic similarity across the DEV.co open-source index.

Related on DEV.co

Explore the category and the services that help you build with it.

arroyo FAQ

Does Arroyo guarantee exactly-once semantics?
Arroyo includes state checkpointing for fault-tolerance and recovery, suggesting exactly-once support. Exact guarantees and configurations are not detailed in the provided data; review official documentation and architecture guides.
Can I run Arroyo without Kafka?
Yes. Arroyo is a general-purpose stream processing engine; Kafka is one of many connectors. Other sources and sinks are supported (e.g., Iceberg), but the full connector list requires review of docs.
Is there a managed, fully-hosted Arroyo service?
Cloudflare Pipelines offers managed Arroyo on the Cloudflare Developer Platform (beta). Currently limited to stateless pipelines ingesting into R2; stateful pipelines support is planned.
What are the production-readiness considerations?
Arroyo is at v0.15.0 (pre-1.0); active development and potential breaking changes are normal. Evaluate operational maturity (monitoring, alerting, runbooks), test fault-recovery scenarios, and monitor release notes before production deployment.

Software development & web development with DEV.co

Need help beyond evaluating arroyo? DEV.co is a software development agency offering software development services and web development for teams of every size. Our software developers and web developers build custom software, web applications, APIs, and open-source databases integrations — and maintain them long-term.

Ready to Build Real-Time Pipelines?

Arroyo combines high-performance SQL with distributed stream processing. Get started with the single binary, evaluate in Docker, or explore the Cloudflare Pipelines beta. Reach out to our team for production planning.