User Tools

Site Tools


skills:rabbitmq

This is an old revision of the document!


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

//drive.google.com/file/d/1W0w6Au8RTOPfMOx0gRfbPZltjMmcRwa_/view

skills/rabbitmq.1779617519.txt.gz · Last modified: by phong2018