#events #message

rust_transit

A broker-agnostic asynchronous event library

1 unstable release

0.1.0 Apr 11, 2020

#205 in #asynchronous


Used in 2 crates

MIT license

19KB
380 lines

Rust Events

This is for the moment a little experiment to add a layer of abstraction on top of messaging API. This project is inspired by Mass Transit: take some decisions about the topology of the underlying messaging architecture, make it easy to create messages types ("Events").

Main Features

Multitenancy

Each event can be optionally attached a tenant, which is only an arbitrary string. A consumer can listen to events for all or one specific tenant.

Supported Backends

RabbitMQ

RabbitMQ support via lapin.

Currently you cannot choose the topology, but hopefully at some stage we can add ways to customize it.

Kafka

Kafka support via rust-rdkafka

Misc.

License

Licensed under MIT license.

Running tests

Disable parallel tests since they are integration tests RUST_LOG=info cargo test -- --nocapture --test-threads=1


lib.rs:

rust_transit library

Abstract the underlying messaging technology under one generic interface

Dependencies

~4–13MB
~152K SLoC