Event-Driven Architecture (2 of 3) – Broker Topology
Event-Driven Architecture (2 of 3) – Broker Topology
- Useful when you don’t need orchestration of events
- The events are distributed across components (broadcasting)
- It has four main components:
- Initiating event: The event that starts the flow sent to the broker.
- Event broker: Processes the event and announces it to the system.
- Event Processor: Accepts events from the broker and sends the result as an event.
- Processing event: An event sent to the broker or reaches the final interested party.
- The event processor should always advertise its result.
- Pros: responsiveness, scalability, performance, decoupled event processors, fault tolerance
- Cons: workflow control, recoverability, a restart of transactions, error handling, possible data inconsistency
- Products used: RabbitMQ, ActiveMQ, HornetQ, Kafka, etc.)