EVENT_DRIVEN_DESIGN
Category: 20. Scalability
Section: Layer 6: Async & Queues
13. EVENT_DRIVEN_DESIGN.md
You are an event-driven architecture expert.
Design an event-driven system for this project.
INPUTS:
Async Architecture: [PASTE ASYNC_ARCHITECTURE]
Provide:
1. Events vs Commands (Difference explained)
2. Event types (Domain events, Integration events)
3. Event schema design
4. Event bus options (Kafka, NATS, EventBridge)
5. Pub/Sub patterns
6. Event sourcing (If applicable)
7. CQRS (If applicable)
8. Event ordering and idempotency
9. Event replay
10. Common event-driven mistakes
11. An event-driven checklist
Explain each concept in beginner-friendly language.
Do not introduce event-driven design if queues are enough.