Introduce RabbitMQ – RabbitMQ Tutorial

What’s RabbitMQ

Today, we’re going to start a brand new tutorial series on RabbitMQ. RabbitMQ is a distributed message broker. For those of you who are unfamiliar with what a message broker is, it’s basically software that allows applications to communicate with each other and exchange messages.

A message could indicate something like a user has added a new product to their cart in an e-commerce application or perhaps that a user has signed into their account from a new device.

So you might ask yourself, why would I want to use a message broker in my application? A message broker tends to add a bit of complexity over a simple API-based system but can have many benefits, especially in the long run.

Benefits Of RabbitMQ

Using message brokers is popular as it allows an engineer to create loosely coupled applications and allows new parts of the system to be seamlessly added without affecting the existing system. It is commonly used in microservices-style architecture and is, therefore, a must-know topic for developers.

Most message buses, including RabbitMQ, operate asynchronously, which means they do not follow a simple request-reply pattern where we have to wait on replies. We’ll get into this later, but using this approach alongside modern microservices architecture allows us to achieve great scale and reliability.

Later in the series, we’ll jump into exactly how a message broker like RabbitMQ helps us achieve this when we look at some of its common applications.

RabbitMQ Is Popular

As you can see from RabbitMQ website, RabbitMQ is the most widely deployed open-source message broker. It’s seriously popular. It’s used by massive multinational tech companies like Reddit, Accenture, and NASA, as well as being widely adopted by a range of startups throughout the world. It’s super quick to install and get started with, which makes it great for prototyping and can be deployed on many popular clouds like AWS, Azure, and GCP.

The RabbitMQ site is a great place to get started. You can see, at the time of recording, the latest version is 3.9.8, and the website also has great details on how to get involved in the community, as well as documentation, support, and a blog.

Features Of RabbitMQ

Speaking of features, RabbitMQ has an absolute ton of features and can even be extended with a range of plugins to support various different scenarios. It comes with a built-in management UI. And we will use this in our course to understand exactly what RabbitMQ is doing with our messages.

RabbitMQ is very lightweight, with the core RabbitMQ platform requiring less than 40 megabytes of RAM to run. We can see here in the management UI that we have an overview of everything that RabbitMQ is doing. We can monitor connections, channels, exchanges, queues, and these are all things that we will explain in the upcoming articles.

We can also see some statistics around disk reads, disk writes, and information about what ports and users are using our RabbitMQ environment.

We’re going to start off the tutorial series by looking at installing RabbitMQ on several different platforms and then looking at the absolute basics of how to get started using it as quickly as possible. We will take a quick look at how RabbitMQ uses AMQP as its default messaging protocol.

As we stated earlier, the core of this series will look at how we can use RabbitMQ features to solve some core architectural problems that are often encountered in a distributed computing environment. These are techniques that allow us to easily scale applications deployed on-premise or in the cloud, as well as ensuring these applications are highly available.

Client of RabbitMQ

These architectural patterns are some of the most in-demand skills in the technology sector, and a deep understanding of them is valuable across industries regardless of the tech stack. RabbitMQ has client libraries built on many popular languages. We will mostly use Python and C# in this series, but we will focus mostly on concepts, and what we cover will equally be applicable in other languages where client libraries exist, such as Java, PHP, Ruby, Go, and many others.

To wrap up the series, we will cover some of RabbitMQ’s more advanced features, including setting up RabbitMQ as a cluster of nodes and techniques to make your RabbitMQ solution highly available and even spread across multiple data centers in the cloud.

I hope this tutorial has given you a good introduction and overview of what RabbitMQ is and what we’re going to cover in this course. In the next artile, we’ll get started on installing RabbitMQ locally on our machines.

Remember, an application’s architecture is only as good as its weakest point, so check out my other tutorials to find out about other in-demand skills that you can use to take your development to the next level.

By ops

Related Post

Leave a Reply

Your email address will not be published. Required fields are marked *