legend-transactional is a Node.js/TypeScript library designed to streamline communication between microservices using RabbitMQ. It enables easy implementation of event-driven architectures and saga patterns, while ensuring reliable message delivery.
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.
Thanks to all contributors!
Jorge Clavijo https://github.com/jym272
Distributed under the MIT License. See LICENSE for more information.