17 releases

0.0.17 May 10, 2024
0.0.16 May 10, 2024

#396 in Concurrency

Download history 242/week @ 2024-04-26 1035/week @ 2024-05-03 412/week @ 2024-05-10 10/week @ 2024-05-17 1/week @ 2024-05-24

896 downloads per month

MIT license

48KB
432 lines

Event-Driven messaging library for Rust

crates.io crates.io docs workflow dependency

It's an early alpha version, not ready for production yet.

The main goal of the project is to create a library with one model abstraction and different implementations for a variety of message brokers, like Kafka, RabbitMQ, Iggy, custom In-memory, etc... Ideally, the library should be able to handle all possible event-driven oriented scenarios, both for modular monolith and distributed applications (microservices, typically).

Release notes

Building project

cargo build

Testing project

cargo test

Examples

Running examples

Getting started

cargo run --example getting-started

In-Memory messages

Run examples:

cargo run --example in-memory
cargo run --example in-memory-multi-threaded

Kafka messages

Install docker and docker-compose on local machine, start kafka containers:

cd tools\kafka
docker-compose up -d

Create topic 'orders':

kafka-topics --bootstrap-servers localhost:9092 --create --topic orders

Run examples:

cargo run --example kafka
cargo run --example kafka-many-handlers

Dependencies

~21–36MB
~467K SLoC