RabbitMQ
Learn RabbitMQ 4.x: exchanges and routing, acks and prefetch, publisher confirms, dead-lettering and retries, quorum queues, streams, clustering and monitoring.
What you'll learn
- Explain the AMQP 0-9-1 model of exchanges, bindings, queues, vhosts, connections and channels.
- Route messages with direct, fanout, topic and headers exchanges and implement common messaging patterns.
- Consume reliably with manual acknowledgements, prefetch and idempotent handling of redeliveries.
- Publish reliably with confirms, persistence and the outbox, and handle failures with dead-lettering and retries.
- Choose between classic queues, quorum queues and streams, and run secure, monitored clusters.
- Design clean topologies, write well-behaved clients and compare RabbitMQ with Kafka and cloud queues.
Syllabus
Message Brokers and the RabbitMQ Model
- What RabbitMQ Is For
- Exchanges, Queues, Bindings, Vhosts and Channels
- Running RabbitMQ and the Management UI
Exchanges and Messaging Patterns
- Default, Direct and Fanout Exchanges
- Topic and Headers Exchanges
- Work Queues, Pub/Sub, Routing and RPC
Consuming Messages Reliably
- Acknowledgements
- Prefetch, Fair Dispatch and Competing Consumers
- Redelivery, Ordering and Idempotent Consumers
Publishing Reliably and Handling Failures
- Publisher Confirms and Returns
- Durability and Persistence
- Dead-Letter Exchanges, TTL and Retry Strategies
Queue Types: Classic, Quorum and Streams
Clustering, Monitoring and Security
Designing with RabbitMQ
- Designing a Topology
- Priorities, Delays, Length Limits and Single Active Consumer
- RabbitMQ vs Kafka vs Cloud Queues