RabbitMQ: Message queue concepts from start to finish
More
This course will not only cover which benefits this technology offers but also shows you of what you can use it for.
With that out of the way, it dives right into the following topics
RabbitMQ Entities and Message Flow
Exchanges
Queues
Binding, Declare and Queue Properties
RabbitMQ Access Control
Virtual Hosts
Users and Permissions
Authentication and Authorization
Management of the RabbitMQ server
Setup in Docker container
Configure the server for your needs
Different means of configuration
Clustering
Why and How
For High Availability
Throughput
Logging and Monitoring
Logging with Built in mechanisms
Monitoring with clients and built in mechanisms
To follow this course, basic programming knowledge is advised, best with Python and/or .Net (C#). Taking this course should also be done with understanding of basic software and application knowledge.
The course itself is most appropriate if you identify as one of the following groups
Anyone who needs to learn RabbitMQ (obv is obv)
Software engineer / developer in distributed systems
DevOps engineers
IT professionals that manage a RabbitMQ Server instance
In general as a developer it is a good idea to learn about a Message Broker, simply because this is a way to easily decouple your applications and make them more maintanable, extendable and failure proof.
To become a more competent developer, advance your career and learn about an extremely well implemented system which is RabbitMQ,
- Interest in Programming
- Basic understanding of programming languages helps with the examples: Python or .Net
- Basic IT concepts
- Interest in learning distributed Systems design and practices
- Python Developers
- .Net Developers
- Microservice systems engineers
- DevOps engineers
What you'll learn:
- Learn why RabbitMQ exists and what problems it solves
- Setup a RabbitMQ Server
- Learn the different routing mechanisms
- Understand RabbitMQ architecture
- Messaging Patterns with RabbitMQ
- High availability with RabbitMQ
- Learn Authentication and Access Control in RabbitMQ
- Logging & Monitoring
- Clustering with RabbitMQ
Watch Online RabbitMQ: Message queue concepts from start to finish
# | Title | Duration |
---|---|---|
1 | Introduction to the course | 03:27 |
2 | What is RabbitMQ, Why do you need it? | 07:29 |
3 | How RabbitMQ works on a high level | 06:08 |
4 | Clients we will be using: .Net & Python | 01:42 |
5 | Erlang: the power behind RabbitMQ | 04:08 |
6 | Setup for the course: Docker container | 03:04 |
7 | Management UI for visualization of RabbitMQ | 02:15 |
8 | Visualize Message Flow in RabbitMQ | 03:12 |
9 | Message Flow: Direct Exchange | 02:49 |
10 | Message Flow: Topic Exchange | 03:22 |
11 | Message Publishing: Exchanges | 02:57 |
12 | Connect to a Rabbit: Connections and Channels | 05:17 |
13 | Vhost and logical seperations | 05:54 |
14 | Create a Consumer with RabbitMQ.Client | 03:41 |
15 | Create a Publisher with RabbitMQ.Client | 03:25 |
16 | An easier way to use the Rabbit Client for .Net | 03:51 |
17 | Summary of Server basics | 02:11 |
18 | Close look at queues: Declare and Bind | 03:28 |
19 | Declare and Bind queues with the pika library | 03:31 |
20 | Queue properties: Durable, Auto-delete, exclusive | 04:17 |
21 | Queue properties 2: Advanced properties and their use | 04:59 |
22 | Message TTL and Queue Expiry with RabbitMQ.Client | 04:38 |
23 | MessagePatterns explained | 04:55 |
24 | MessagePattern: RPC or Request Response | 03:49 |
25 | Message Reliability explained | 05:02 |
26 | Message delivery guaranteed: Publisher confirms (.Net) | 02:14 |
27 | Message consumption guaranteed: Consumer Acks (Python) | 03:13 |
28 | Summary closer look at Messaging | 01:44 |
29 | Intro to vhosts and access control | 04:19 |
30 | Access Control: Set and use permissions | 05:42 |
31 | Plugins in RabbitMQ | 02:14 |
32 | What are Policies | 02:53 |
33 | CLI for RabbitMQ | 04:12 |
34 | Manage RabbitMQ with the HTTP API | 03:47 |
35 | Configuration of the RabbitMQ Server | 02:11 |
36 | Configure via Configuration Files | 04:04 |
37 | Configure with Environment Variables | 05:16 |
38 | Summary Rabbitmq Management | 02:52 |
39 | Intro to Optimization of RabbitMQ | 03:43 |
40 | Tools for Optimization: Built in Clustering | 05:36 |
41 | How to create a simple local cluster | 02:44 |
42 | High Availability: Replicate Queues with mirroring | 04:45 |
43 | High availability: Shovels | 04:08 |
44 | Implementing a Dynamic Shovel from management UI | 03:23 |
45 | High Throughput with Clustering | 06:08 |
46 | Summary Performance and High availability | 02:35 |
47 | Monitoring and Logging with RabbitMQ | 04:18 |
48 | Enable Tracing Plugin for debugging | 03:22 |
49 | Logging with Queues | 04:46 |
50 | Use the HTTP REST API for Health checks | 03:21 |
51 | Summary Monitoring and Logging | 03:46 |
52 | Python config watchdog | 04:48 |
53 | Dead Letter Exchange Example | 03:29 |
54 | Better RPC with RabbitMQ - Concepts | 03:35 |
55 | Better RPC with pika (python) | 03:30 |
56 | UseCases Introduction | 04:11 |
57 | Use Case:Load balancer explained | 01:28 |
58 | Classic example: Load balancing with monitoring of Queue levels and auto scaling | 03:53 |
59 | Intro: Temporary BLOB Storage with Redis | 02:52 |
60 | Temporary BLOB Storage with Redis - Code | 04:27 |
61 | Intro to the application: What we are building | 06:59 |
62 | Setup the solution structure | 02:07 |
63 | Setup the Middleware: Messages and Bus Library | 03:37 |
64 | Setup the Consumer with access to the database | 04:20 |
65 | Setup RabbitMQ and the database itself | 04:27 |
66 | Setup the Rest API and do a first integration of the system | 05:39 |
67 | Create the Database access code and Insert the Order | 02:20 |
68 | Integrate the full system | 05:38 |