← Selected work
Insignia Business Solutions/2025
Event-driven service communication
Replaced synchronous service-to-service calls with asynchronous messaging over MassTransit and RabbitMQ.
- MassTransit
- RabbitMQ
- .NET Core
- Background consumers
The problem
Services called each other synchronously over HTTP. A slow or unavailable downstream service would block callers and cascade into user-facing failures, and the tight coupling made each service hard to change in isolation.
Approach
- Introduced MassTransit with RabbitMQ as the messaging backbone for cross-service communication.
- Moved suitable workflows to publish/subscribe events and consumers instead of blocking request/response.
- Added background consumers for integration work so third-party calls happen off the request path.
- Configured retry and fault handling so transient downstream failures recover instead of surfacing to users.
Outcome
- Services are decoupled: one being slow or down no longer blocks the others.
- Integration and long-running work moved off the request path, improving perceived responsiveness.
Working on something similar? Get in touch.