## TL;DR
Message queues enable asynchronous, decoupled communication between services. Producer sends message to queue; consumer picks it up — no direct connection needed. Benefits: load leveling, fault tolerance, temporal decoupling. Popular MQs: RabbitMQ (AMQP), Apache Kafka (log-based), Amazon SQS (managed), Redis Streams.
## Core Explanation
Patterns: Point-to-Point (one consumer), Publish-Subscribe (many consumers), Competing Consumers (load balancing). Kafka: append-only distributed log, partitions for parallelism, consumer groups track offsets, replayable. RabbitMQ: exchanges route messages to queues (direct, topic, fanout, headers). Dead Letter Queue (DLQ): messages that fail processing go here for inspection.
## Further Reading
- [Enterprise Integration Patterns (Hohpe & Woolf)](undefined)