17 releases

new 0.0.17 May 10, 2024
0.0.16 May 10, 2024

#316 in Concurrency

Download history 727/week @ 2024-04-28 807/week @ 2024-05-05

1,534 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–33MB
~449K SLoC