Messaging Event-Driven
Event-Driven Architecture
Systems communicate by emitting and reacting to events, enabling fanout, resilience, and evolution over time.
Events are facts
Model immutable “what happened” records; derive state from events when useful.
Loose coupling
Producers don’t know consumers; schemas and contracts become critical.
Async boundaries
Failures become retries, DLQs, and compensations—not simple rollbacks.
Observability
Trace IDs, idempotency keys, and event lineage make debugging possible.