An event bus is a software architectural pattern that facilitates communication between different components or modules within a system, typically using a publish-subscribe model. This pattern allows for decoupling of components by enabling them to communicate indirectly through the bus, rather than directly interacting with one another. Event buses can be particularly effective in applications that require asynchronous processing and event-driven architecture, making them relevant in contexts that utilize queue-based systems.