This is an old revision of the document!
Table of Contents
RabbitMQ Handbook
1. Introduction
- What is RabbitMQ - Message broker concept - Why RabbitMQ exists - Real-world analogy
2. Core Architecture
- Producer - Consumer - Broker - Message - Queue - Exchange - Binding - Routing Key - Virtual Host (vhost) - Channel - Connection
3. Exchange Types
- Direct Exchange - Fanout Exchange - Topic Exchange - Headers Exchange - Default Exchange - Use cases - Routing examples
4. Message Flow
Producer → Exchange → Queue → Consumer
5. Queue Concepts
- Durable queue - Transient queue - Exclusive queue - Auto-delete queue - Queue TTL - Message TTL - Dead Letter Queue (DLQ) - Dead Letter Exchange (DLX) - Priority queue - Lazy queue - Quorum queue - Stream queue - Single Active Consumer
6. Delivery & Reliability
- ACK - NACK - Reject - Redelivery - Prefetch / QoS - Retry pattern - Poison message - Idempotency - At least once - At most once - Exactly once (why hard)
7. Persistence
- Durable exchange - Durable queue - Persistent message - Disk vs memory - Crash recovery
8. RabbitMQ Clustering
- Cluster - Node - Metadata replication - Queue location - Network partition
9. High Availability
- Mirrored queue (legacy) - Quorum queue - Leader/Follower - Failover
10. Federation & Shovel
- Federation - Shovel - Multi-datacenter
11. Security
- Authentication - Authorization - TLS - User permissions - vhost isolation
12. Performance Tuning
- Prefetch tuning - Connection/channel pooling - Queue design - Backpressure - Throughput optimization
13. Monitoring
- Management UI - Metrics - Queue depth - Consumer lag - Prometheus + Grafana
14. RabbitMQ Patterns
- Work Queue - Pub/Sub - Routing - RPC - Saga/Event-driven - Outbox + RabbitMQ - Retry + DLQ - Delay queue
15. RabbitMQ vs Kafka
- Architecture - Ordering - Replay - Throughput - Use cases - When to use both
16. RabbitMQ in Go
- amqp091-go - Producer example - Consumer example - Clean Architecture integration - Outbox relay
17. Best Practices
- Naming conventions - Queue ownership - Retry strategy - Error handling - Scaling consumers - Production checklist
