RabbitMQ
RabbitMQ is an open-source, highly reliable enterprise messaging system that implements the Advanced Message Queuing Protocol (AMQP).
Pre-requisites
- Knowing what is a message queue and broker
- Working knowledge of Working knowledge of Python, Java or JavaScript
Duration: 25hrs
Course Content:
Introduction to RabbitMQ
- What is RabbitMQ?
- Benefits of using RabbitMQ
- Comparative study between RabbitMQ, Beanstalk and Redis
Basics of RabbitMQ
- Work Queues
- Publisher/Subscriber
- Routing
- Topics
- RPC
Configuring your Server
- File and Directory Locations
- Policies and Runtime Parameters
- Client Connection Heartbeats
- Inter-node Connection Heartbeats
- Queue and Message TTL
- Authentication and Authorization
Authentication and Authorization Backends
- Authentication Mechanisms
- Virtual Hosts
- Credentials and Passwords
- LDAP
- Validated User ID
- Authentication Failure Notifications
Networking and TLS
- Networking
- Using TLS for Client Connections
- Using TLS for Inter-node Traffic
- Troubleshooting TLS
Monitoring, Audit, Application Troubleshooting
- Management UI and HTTP API
- rabbitmqadmin, an HTTP API command line tool
- Internal Event Exchange
- Configuring HTTP-based (Web) plugins
- Message Tracing
- Capturing Traffic with Wireshark
Distributed RabbitMQ
- Mirroring, Shovel, Federation Overview
- Clustering
- Queue Mirroring
- Reliable Message Delivery
Message Store and Resource Management
- Memory Management
- Resource Alarms
- Free Disk Space Alarms
- Flow Control
- Message Store Configuration
- Queue and Message TTL
- Queue Length Limits
- Lazy Queues
STOMP, MQTT, WebSockets
- STOMP
- MQTT
- STOMP over WebSockets
- MQTT over WebSockets
Plugins
- Management Plugin
- Federation Plugin