10 releases
new 0.0.10 | Nov 28, 2024 |
---|---|
0.0.9 | Nov 26, 2024 |
#588 in Asynchronous
822 downloads per month
125KB
3K
SLoC
Legend saga
A Rust library that simplifies microservice communication via RabbitMQ, supporting event-driven patterns and reliable messaging.
Features
Core Communication:
- Publish/Subscribe Messaging: Exchange messages between microservices using a publish-subscribe pattern.
- Headers-Based Routing: Leverage the power of RabbitMQ's headers exchange for flexible and dynamic routing of messages based on custom headers.
- Durable Exchanges and Queues: Ensure message persistence and reliability with durable RabbitMQ components.
Saga Management:
- Saga Orchestration: Coordinate complex, multi-step transactions across multiple microservices with saga orchestration.
- Saga Step Handlers: Implement step-by-step saga logic in your microservices using callbacks.
- Compensation Logic: Define compensating actions for saga steps to handle failures gracefully and maintain data consistency.
Flags
std
y events
features flags:
std
is the main app,events = ["serde", "strum", "strum_macros"]
are used to handle types, payloads, enum, struct of the app.
Contributors
Thanks to all contributors!
Author
Jorge Clavijo https://github.com/jym272
License
Distributed under the MIT License. See LICENSE for more information.
Dependencies
~0–11MB
~129K SLoC