Event-Driven Architecture Patterns: The ActiveMQ Practitioner's Guide
"Event-driven architecture" has become one of the most overloaded phrases in software engineering. The phrase simultaneously means a simple pub/sub notification system, a full event-sourced domain model, a saga for distributed transaction coordination, and a CQRS read/write separation. These are architecturally distinct event-driven architecture patterns with different trade-offs, different failure modes, and different operational complexity requirements.