Queues and asynchronous work

A queue decouples producers from consumers and absorbs bursts. The cost is that you now have to think about ordering, retries, and duplicates.

Lesson 1.326m 46sIntermediate13.2k students

Chapters

26:46
  1. 0:00Intro
  2. 0:48Motivating example
  3. 4:17What is a message queue?
  4. 12:47When to use a message queue?
  5. 15:06Common deep dives
  6. 23:31Example technologies: Kafka, SQS, RabbitMQ
  7. 25:42Conclusion

What this lesson covers

  • Move slow work out of the request path
  • Handle retries, dead letters, and duplicate delivery
  • Reason about ordering guarantees you actually have

This lesson sits in Core Building Blocks, part of System Design Foundations. It assumes what came before it and leads directly into the next lesson in the module.

In this lesson you will

  • Move slow work out of the request path
  • Handle retries, dead letters, and duplicate delivery
  • Reason about ordering guarantees you actually have

Resources