Hello Interview on YouTube · Open on YouTube
System design and architecture · Proficient · Lesson 63 of 98 · 27 min video, then about 5 hours of practice
Asynchronous communication: queues and events
After this you can decide when work should happen asynchronously through a queue or event stream, and what new failure modes that introduces.
Why it matters
Not every operation should happen inside the request. Sending email, processing uploads and updating search indexes belong on a queue, so the user gets a fast response and failures can be retried. Events decouple services further, at the cost of harder debugging and eventual consistency. Understand delivery guarantees (at-least-once means duplicates, so consumers must be idempotent) and dead-letter queues. Trap: introducing a message broker to decouple two pieces of code that live in the same deployable.
How to use this resource
Message queues from a staff engineer: when to use them and what goes wrong.