
Learn in this introduction what we cover in this course
Explore how the RabbitMQ broker enables asynchronous, decoupled communication through publish and subscribe, clustering, and load balancing for scalable distributed systems.
Learn a first simple python script for the message flow. See how the message flow is visualized and how messages are produced and consumed with the pika library.
Explore RabbitMQ access via two popular clients: .NET's EasyNetQ and Python's Pika, showing how to set up a bus, publish messages, and consume across languages.
Learn to run RabbitMQ in a docker container by pulling the 3-management image from Docker Hub, installing Docker, and launching a detached container with port mappings and the management UI.
Configure a direct exchange with a producer and queues, bind them via binding keys and routing keys like key1 and key2, and route messages to the matching queue.
Connect to RabbitMQ with the RabbitMQ dotnet client by creating a connection, a channel (model), and an eventing basic consumer, then enable manual acks for messages.
Create a dotnet rabbitmq publisher by connecting, opening a channel, and publishing with basic_publish on the default exchange using the queue name as the routing key, encoding body as UTF-8.
Discover how to use the EasyNetQ library to create a bus, publish messages to a queue, and set up a consumer with the advanced bus, simplifying RabbitMQ client operations.
Declare and bind queues with the pika library in RabbitMQ, connect to localhost, and use idempotent bindings to link queues to the amq.direct exchange with routing key demonstrate.
Learn how RabbitMQ achieves message reliability with publisher confirms and consumer acknowledgements, durable queues and persistent messages, plus handling rejects and acks to ensure safe delivery.
Enable, disable, and list RabbitMQ plugins with rabbitmq-plugins and the management UI; publish a message and view its trace using the tracing plugin to learn performance implications.
Explore the RabbitMQ HTTP API and its management endpoints for monitoring queues and exchanges. Declare exchanges and queues, query virtual hosts, and fetch data with a .NET client.
Configure rabbitmq via configuration files to set general server settings, including amnesia database references and the Erlang node, and explore both old Allen and new CIS formats in docker.
Explore rabbitmq management from virtual hosts and access control to policies, arguments, and user permissions; leverage management plugins, command line interfaces, http api, and environment-based configuration for robust administration.
Explore RabbitMQ mirrored queues for high availability, including master-slave replication, ha-mode options (all, exactly, nodes), ha-parameters, and synchronization modes, balancing reliability with throughput.
Enable dynamic shovels from the management UI, create and bind a shovel to a direct exchange with a routing key, then publish and consume messages using a Python client.
Explore high availability and throughput in RabbitMQ, including clustering across containers, mirrored queues, and the shovel tool, with insights on tuning for reliable, efficient messaging.
Enable the tracing plugin to debug RabbitMQ by routing matching messages to a log via the direct exchange, with a Python publisher generating trace data such as time and payload.
Bind a logging queue to all direct, topic, and firehose exchanges, then consume messages, print them to the console, and publish logs with routing keys using a durable queue.
Learn to configure a dead letter exchange with a 250 ms ttl, bind via amq.direct and dead end routing key, and monitor through the dead letter queue.
Learn to implement better rpc with pika in python by building client and server communication, using a response queue, correlation id, and reply_to header.
Discover real-world use cases for RabbitMQ, including load balancing, large file transfers, scalable rest apis, data import, and legacy system integration, with simulations and library implementations.
Build a Redis-backed cache abstraction with get and set, then implement a RabbitMQ producer–consumer workflow to publish and retrieve binary large objects as temporary blobs.
Build a distributed application with RabbitMQ, .NET Core, and Python, showcasing real-world messaging patterns like RPC, publish-subscribe, and fan-out exchanges across multiple clients and services.
Set up the solution structure for a RabbitMQ project by creating a three-project solution—web api, console consumer, and bus library—and add EasyNetQ as a dependency.
Build messages and models for a single RabbitMQ bus, creating product and order entities and implement product request/response and notify supplier messages.
Build a rest api with models for customer, supplier, and order product, wire controllers and routes, and publish order notifications via a rabbit mq bus.
Develop and integrate a full RabbitMQ workflow by simulating a supplier and consumer, using fanout and final exchanges, notifications, and repository updates to publish and process orders.
Ever asked yourself how to decouple your systems without the least amount of friction?
Or did you ask yourself how to scale a distributed system?
Or are you tired of changing your code over and over again, just because your boss or sales wants this or that little tiny extra feature?
Then learn decoupling by asynchronous messaging with the message broker RabbitMQ in this online course.
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,
ENROLL NOW
and get access to life long updates for RabbitMQ, with support from a Freelance DevOps engineer that has implemented multiple systems with this broker.
Also remember the 30 days refund, so there is nothing to loose for you really.
Enjoy the course and becoming a better engineer and developer.