Abstracting the Distributed Bus

Using design patterns, the way a distributed bus is used is abstracted, defining the basic capabilities of the bus.

event-bus-abstraction

Event Bus-Based Components

The distributed event bus is implemented in a componentized way, encapsulating the implementation details of the bus inside components.

event-bus-component

RabbitMQ-based implementation: https://github.com/dotnet/eShop/tree/main/src/EventBusRabbitMQ

The Dapr Implementation of the Event Bus

Dapr is an open-source distributed application runtime. Its publish and subscribe module enables microservices to communicate with each other using event-driven architecture messaging. Dapr provides an implementation of the event bus: publish events via Dapr, expose Dapr subscription endpoints, and route messages to different event handlers.

event-bus-endpoint