Superpowers for Rust message consumers
Production-ready retries, DLQs, ordering, audit logs, and autoscaling for your existing messaging stack.
cargo add shove --features inmemoryWhat you get
A small API on top of the brokers you already run. Three pillars:
- Strongly typed topics — bind a message type to a queue topology once; the compiler keeps publishers and consumers in sync.
- Managed consumer groups with autoscaling — min/max worker bounds driven by queue depth or consumer lag.
- Delivery ordering — strict per-key ordering with a single
.sequenced()switch.
Plugs into RabbitMQ, AWS SNS+SQS, NATS JetStream, Apache Kafka, and Redis/Valkey Streams.
What's next
- Get started in 60 seconds — runs in-process, no Docker required.
- Core concepts — topics, outcomes, handlers, the
Broker<B>pattern. - Per-broker setup — production patterns for RabbitMQ, SNS+SQS, NATS, Kafka, and Redis/Valkey.
- Full API reference — auto-generated rustdoc on docs.rs.