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-Based Components
The distributed event bus is implemented in a componentized way, encapsulating the implementation details of the bus inside components.
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.