Message queues enable asynchronous communication between components — a producer sends messages to a queue, and consumers process them later. They decouple components, improve resilience, handle load spikes, and enable background processing.
What message queues do
A MESSAGE QUEUE sits between producers and consumers:
Producer → [QUEUE] → Consumer(s) process messages (asynchronously, at their own pace)
→ the producer doesn't wait for processing (sends and moves on)
→ messages are stored until processed (buffered)
→ ASYNCHRONOUS, decoupled communication.
