Event-driven architecture (EDA) is a design where components communicate by producing and reacting to events (something that happened) — rather than direct calls. It enables loose coupling, scalability, and responsiveness, and is common in modern distributed systems.
What event-driven architecture is
Components communicate via EVENTS (a notification that something happened):
→ PRODUCERS emit events ("order placed", "user signed up") without knowing who handles them
→ CONSUMERS react to events they care about (asynchronously)
→ an event BROKER/bus (Kafka, message queue) routes events
→ components are DECOUPLED → they react to events, not call each other directly.
