Skip to content

Rust-native, pattern-first stream processing engine (CEP): filters, joins, enrichment, windows—low latency on-prem & Kubernetes.

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

eventflux-io/engine

Repository files navigation

EventFlux

Build GHCR License

Stream processing engine built in Rust. Write SQL, process events, skip the infrastructure headache.

Why EventFlux

You need to detect patterns in event streams, aggregate metrics, or react to conditions in real-time.

Your options today:

  • Flink — needs Kubernetes, 4GB+ JVM heap, dedicated ops
  • Kafka Streams — needs a Kafka cluster plus Java expertise
  • Build it yourself — months of work

For 100k events/sec, that's overkill.

EventFlux runs as a single binary. No cluster. No JVM. No YAML manifests. Just SQL.

Quick Start

# Docker
docker run -v ./app.sql:/app.sql ghcr.io/eventflux-io/engine /app.sql

# Or build from source
git clone https://github.com/eventflux-io/engine.git
cd engine
cargo build --release
./target/release/run_eventflux app.sql

Prerequisites (for building)

  • Rust 1.85+
  • Protocol Buffer compiler (for gRPC features)

Example

CREATE
STREAM Trades (symbol STRING, price DOUBLE, volume INT);

SELECT symbol, AVG(price), SUM(volume)
FROM Trades WINDOW TUMBLING(1 min)
GROUP BY symbol
INSERT
INTO Summaries;

That's it. No boilerplate. No config files. Just SQL.

How It Compares

EventFlux Flink Kafka Streams
Deployment Single binary Kubernetes cluster Kafka cluster
Memory 50-100MB 4GB+ JVM 1GB+ JVM
Language SQL Java/SQL Java
Setup time Minutes Hours/days Hours
Scale ceiling ~500k eps Millions+ Millions+

Choose EventFlux when you want simple deployment and SQL-first development.

Choose Flink when you need massive scale or batch+stream processing.

Documentation

Full docs at eventflux.io:

Performance

  • 1M+ events/sec on a single node
  • Sub-millisecond latency
  • Zero GC pauses
  • Starts in milliseconds

When to Use

Good fit: IoT backends, e-commerce tracking, analytics pipelines, SaaS telemetry, fraud detection.

Not a fit: You need 100+ connectors, or you're already running Flink at scale.

Status

Active development. Core CEP works. 1,400+ tests passing. See ROADMAP.md for details.

Contributing

cargo test        # run tests
cargo clippy      # lint
cargo fmt         # format

See DEV_GUIDE.md for setup.

License

Apache-2.0 or MIT.

About

Rust-native, pattern-first stream processing engine (CEP): filters, joins, enrichment, windows—low latency on-prem & Kubernetes.

Topics

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages