Defining Event-driven Architecture

Defining Broker Topology

Broker Topology

As you can see from the diagram, there is no central event-mediator component controlling and orchestrating the initial event; rather, each event-processor component is responsible for processing an event and publishing a new event indicating the action it just performed.

Source: Software Architecture Patterns

Justification Of The Choices Made

The broker topology differs from the mediator topology in that there is no central event mediator; rather, the message flow is distributed across the event processor components in a chain-like fashion through a lightweight message broker (e.g., ActiveMQ, HornetQ, etc.). This topology is useful when you have a relatively simple event processing flow and you do not want (or need) central event orchestration.

Source: Software Architecture Patterns

The Other Alternatives That Were Not Chosen

  • Mediator topology

Further Reading