Skip to content
1. Introduction to RabbitMQ
- What is RabbitMQ?
- How RabbitMQ works
- Message broker concept
- Key components: Producers, Consumers, Queues
- RabbitMQ Features
- Reliability, scalability, flexibility, etc.
- Prerequisites
- Installation on various platforms
- Starting RabbitMQ
- Starting/stopping the RabbitMQ service
- systemctl status rabbitmq-server
- systemctl start rabbitmq-server
- systemctl stop rabbitmq-server
- Web Management Plugin
- Configuration rabbitmq & Nginx reverse proxy
3. RabbitMQ Basics
- Core Concepts
- Producers, Consumers, Exchanges, and Queues
- Bindings and Routing Keys
- Hello World Example
- Setting up a simple producer and consumer
- Understanding AMQP Protocol
- Overview of the Advanced Message Queuing Protocol
4. Exchanges and Routing
- Types of Exchanges
- Direct Exchange
- Fanout Exchange
- Topic Exchange
- Headers Exchange
- Use Cases for Each Type
- Configuring Routing Keys
- Matching producers and consumers
5. Queues in Depth
- Queue Types
- Durable, Exclusive, and Auto-Delete Queues
- Priority Queues
- Dead Letter Queues (DLQs)
- Message TTL (Time to Live)
- Acknowledgements and Durability
6. Advanced Features
- Message Acknowledgements
- Auto vs manual acknowledgment
- Prefetch Count
- Optimizing consumer performance
- RabbitMQ Clustering
- High availability and scalability
- Shovel and Federation Plugins
- Transferring messages between RabbitMQ instances
- Delayed Messaging
- Scheduling messages for future delivery
7. Security
- User Authentication
- Default user and adding custom users
- Permissions and Access Control
- Configuring virtual hosts
- SSL/TLS Setup
8. Monitoring and Management
- Management UI
- Inspecting exchanges, queues, and connections
- Command-Line Tools
- RabbitMQctl and RabbitMQ-diagnostics
- Monitoring Metrics
- Message rates, queue depth, etc.
9. Integrating RabbitMQ with Applications
- Supported Languages
- Java (using Spring Boot), Python, Node.js, etc.
- Libraries and Frameworks
- Overview of RabbitMQ client libraries
- Examples
- Setting up RabbitMQ with Python using
pika
- Integrating RabbitMQ with Node.js
10. Best Practices
- Designing Scalable Systems
- Message Reliability
- Acknowledgments, persistent messages
- Monitoring and Alerts
- Using monitoring tools like Prometheus and Grafana
11. Troubleshooting
- Common Issues
- Connection errors, queue overloads
- Debugging Tips
- Logs, diagnostics commands
- Performance Tuning
- Memory, disk usage, and message throughput optimization
12. Conclusion and Further Reading
- Summary of RabbitMQ
- Links to official documentation
- Advanced topics (e.g., RabbitMQ Streams, Quorum Queues)