Pricing About Documentation Login Free Trial

RabbitMQ is an open source message broker software that implements the Advanced Message Queuing Protocol (AMQP). It provides a way for different applications to communicate with each other by sending and receiving messages. RabbitMQ is helpful and used for building distributed systems and microservices architectures.

Login

On your first visit to the site, you will be presented with the login/signup screen.

RabbitMQ login screen

When your instance is first created, an account is created for you with the email you chose. You can get the password for this account by going to your Elestio dashboard and clicking on the "Show Password" button.

Enter your username and password and click the "Login" button.

Connections

Connections represent the network connections between RabbitMQ and its clients. They are established when a client connects to RabbitMQ and are closed when the client disconnects. Connections are responsible for managing the underlying TCP/IP connection and handling the authentication process. To view the connections in RabbitMQ, you can go to the RabbitMQ management interface and navigate to the "Connections" section. This section provides information about the active connections, including the client's IP address, protocol version, and connection state.

RabbitMQ connections screen

Channels

Channels in RabbitMQ are virtual connections within a single TCP connection. They are used to multiplex multiple logical connections over a single network connection. Channels provide a way to separate and isolate different units of work within a connection, allowing multiple operations to be performed concurrently. Channels are lightweight and can be created and closed dynamically as needed. They provide a way to improve performance and scalability by reducing the overhead of establishing and tearing down TCP connections for each operation.

RabbitMQ channels screen

Exchanges

Exchanges in RabbitMQ are message routing agents. They receive messages from producers and route them to queues based on rules defined by the exchange type. Exchanges can be configured with different types such as direct, topic, fanout, and headers, each with its own routing behavior. To view the exchanges in RabbitMQ, you can go to the RabbitMQ management interface and navigate to the "Exchanges" section. This section provides information about the exchanges in the system, including their name, type, and bindings to queues.

RabbitMQ exchanges screen

Adding New Queue

Queues in RabbitMQ are buffers that store messages. They act as a temporary storage for messages until they are consumed by consumers. When a message is published to an exchange, it is routed to one or more queues based on the routing rules defined by the exchange. Consumers can then retrieve messages from the queues and process them. Queues can be configured with various properties such as durability, message expiration, and maximum length to control their behavior. To view the queues in RabbitMQ, you can go to the RabbitMQ management interface and navigate to the "Queues" section. This section provides information about the queues in the system, including their name, message count, and consumer count.

RabbitMQ queue screen

Feature Flags

Feature flags in RabbitMQ are a mechanism used to enable or disable certain features or functionality in the messaging system. They allow you to control the behavior of RabbitMQ at runtime by toggling specific features on or off. Feature flags can be used to gradually roll out new features, perform A/B testing, or temporarily disable certain functionality for debugging or maintenance purposes. They provide a way to manage the behavior of RabbitMQ without requiring code changes or server restarts.

RabbitMQ flags screen

Adding Policy

Policy is a configuration that defines certain rules and behaviors for message queues and exchanges. It allows you to set up various aspects of message handling, such as message expiration, message routing, queue length limits, and more. Policies are defined on the RabbitMQ server and can be applied to specific queues or exchanges. They provide a way to enforce certain behaviors and constraints without modifying the code of your applications. Policies can be managed and configured using the RabbitMQ management interface or through the RabbitMQ command-line tools. They provide a way to customize the behavior of RabbitMQ to suit your specific messaging requirements.

RabbitMQ Adding policy screen

Adding User

An user in RabbitMQ is an entity that represents an authenticated user who can interact with the RabbitMQ messaging system. Users are used for authentication and authorization purposes. They are associated with a username and password, and can be assigned different roles and permissions to control their access to resources such as queues, exchanges, and virtual hosts. Users can be created, modified, and deleted using the RabbitMQ management interface or command-line tools.

RabbitMQ user screen