Practice this topic in a realistic system design interview
When one service calls another directly, it has to know where that service lives, wait for a response, and handle the failure if the other service is slow or down.
That is fine for many cases. But it gets awkward when many services need to react to the same change. Event-driven architecture takes a different approach: a service announces that something happened, and other services react on their own.
This chapter covers what event-driven architecture is, how producers, consumers, and brokers work together, and the practical challenges that come with building a system around events, like duplicates, ordering, and eventual consistency.