learn/System Design/Message Queues
ReliabilityIntermediate interactive

Message Queues

Decouple producers from consumers with a buffer.

message_queue
depth 3
producer
1
2
3
consumer

The queue decouples producer from consumer; each runs at its own pace.

How it works

A message queue lets services communicate asynchronously: producers publish messages, consumers process them at their own pace. It absorbs traffic spikes, decouples components, and adds durability and retries — the backbone of event-driven architecture.

Mental models

  • Asynchronous decoupling: the producer doesn't wait for the consumer.
  • Queues buffer bursts so a spike doesn't topple downstream services.
  • At-least-once delivery + idempotent consumers handle retries safely.

Reach for it when

  • Background jobs
  • Event-driven microservices
  • Spike smoothing