Skip to content
SPECIFICTION
Get listed

Arroyo vs Kafka Streams

Arroyo

arroyo.dev

Kafka Streams

kafka.apache.org

Side by side

FigureArroyoKafka Streams
Price from$5/moFree
Free planYesYes
Free trial——
Open sourceYes—
WebYes—
Windows—Yes
macOSYesYes
LinuxYesYes
APIYes—
Self-hostedYesYes
Plans published31
Spec score · Stream Analytics Software9.2 (#1)7.9 (#15)
Spec score · Stream Processing Software9.1 (#1)7.8 (#15)
DeploymentArroyo can run as a single binary, Docker container or Kubernetes deployment, with SQLite for local use and Postgres recommended for distributed production.Kafka Streams applications can be deployed to containers, virtual machines, bare metal, or cloud environments.
Founded20221999
PurposeArroyo is a distributed stream processing engine for stateful computations on data streams, with sub-second results.Kafka Streams is a client library for building applications and microservices whose input and output data are stored in Kafka clusters.
SupportThe deployment guide invites users rolling out clusters to contact [email protected] or ask questions on Discord.The Kafka project provides user, developer, JIRA, and commit mailing lists for community support and project communication.

Plans

Arroyo

  • Arroyo open-sourceFree
  • Open-source Arroyo EngineFree
  • Cloudflare Workers Paid with Pipelines$5 a month

Arroyo pricing →

Kafka Streams

  • Apache Kafka StreamsFree

Kafka Streams pricing →

In their own words

Arroyo

Arroyo is an open-source distributed engine for processing stateful computations on data streams, with sub-second results. Users build streaming pipelines in analytical SQL, including complex queries, windows and joins. Arroyo supports checkpointing for fault tolerance and recovery, exactly-once processing, and horizontal and vertical rescaling; it says the engine can handle millions of events per second. Its connectors include Kafka, Kinesis, MQTT, MySQL, Postgres, Redis, Delta Lake, HTTP and WebSocket, among others. It reads and writes JSON, Avro, Parquet, text and binary, and includes more than 300 SQL functions. Rust scalar, aggregate and asynchronous user-defined functions can extend SQL. The web UI supports connection management, query development and testing, and pipeline monitoring; pipeline management is also available through a REST API. Single-node clusters are intended for development and testing, while production deployments use a distributed cluster with Arroyo’s scheduler or Kubernetes. It is Apache 2.0 licensed, free at free, and self-hostable.

Visit arroyo.dev

Kafka Streams

Kafka Streams is a free client library for building applications and microservices that use data stored in Kafka clusters. It processes Kafka data with event-time handling, windowing, and real-time queries of application state. The Streams DSL provides operations such as mapping, filtering, joins, and aggregations, while the Processor API supports custom processors and state stores. Fault-tolerant local state supports stateful work such as windowed joins and aggregations, and the library offers exactly-once processing semantics. Applications can run on one machine or scale across multiple machines, and can be deployed in containers, virtual machines, on bare metal, or in cloud environments. Kafka Streams uses Kafka as its internal messaging layer and does not require a separate processing cluster. It supports Java and Scala and integrates with Kafka security features for encryption in transit, client authentication, and authorization. The software is licensed under Apache License 2.0. The Apache Software Foundation says it does not sell its software or provide formal or commercial support for its packages; project communication is available through community mailing lists.

Visit kafka.apache.org