Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions menu/navigation.ts
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ import { organizationsAndProjectsMenu } from '../pages/organizations-and-project
import { partnerSpaceMenu } from "../pages/partner-space/menu"
import { publicGatewaysMenu } from "../pages/public-gateways/menu"
import { queuesMenu } from "../pages/queues/menu"
import { rabbitmqMenu } from "../pages/rabbitmq/menu"
import { scalewayCliMenu } from "../pages/scaleway-cli/menu"
import { scalewaySdkMenu } from "../pages/scaleway-sdk/menu"
import { secretManagerMenu } from "../pages/secret-manager/menu"
Expand Down Expand Up @@ -191,6 +192,7 @@ export default [
iotHubMenu,
topicsAndEventsMenu,
queuesMenu,
rabbitmqMenu,
],
label: 'Integration Services',
category: 'integration-services',
Expand Down
111 changes: 111 additions & 0 deletions pages/rabbitmq/concepts.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
---
title: Cloud Essentials for RabbitMQ - Concepts
description: Understand key concepts behind Scaleway Cloud Essentials for RabbitMQ.
tags: cloud essentials rabbitmq concepts glossary terms definitions
dates:
published: 2026-05-07
validation: 2026-05-07
categories:
- rabbitmq
---

## Cloud Essentials

Cloud Essentials aims to provide a vast range of technologies, with a focus on easy deployment and a minimal feature set while offering production-ready stability and scalability.

## RabbitMQ

RabbitMQ is an enterprise-grade, open‑source message broker that implements the Advanced Message Queuing Protocol (AMQP) to reliably route, queue, and deliver messages between distributed applications, enabling asynchronous communication and service decoupling.

For more details on the AMQP protocol supported by RabbitMQ, see the [AMQP 0-9-1 Model Explained](https://www.rabbitmq.com/tutorials/amqp-concepts) document by RabbitMQ.

## Acknowledgment

A confirmation sent by a consumer to RabbitMQ that a message has been processed.

## Binding

A link between an exchange and a queue, defining how messages are routed.

## Channel

A lightweight connection multiplexed over a TCP connection for performing operations.

## Connection

A TCP connection between an application and the RabbitMQ broker.

## Consumer

An application that receives messages from a RabbitMQ queue.

## Durability

A property of queues/exchanges that ensures that they survive broker restarts.

## Exchange

An Advanced Message Queuing Protocol (AMQP) 0-9-1 entity that receives messages from producers and routes them to zero or more queues based on rules (bindings).

The routing algorithm used depends on the exchange type and the bindings. AMQP 0-9-1 brokers provide four exchange types:

| Exchange type | Default pre-declared names |
|----------------|-----------------------------|
| Direct exchange | (empty string) and `amq.direct` |
| Fanout exchange | `amq.fanout` |
| Topic exchange | `amq.topic` |
| Headers exchange | `amq.match` (and `amq.headers` in RabbitMQ) |

Besides the exchange type, exchanges are declared with a number of attributes. The most important attributes are:
- Name
- Durability: the exchanges survive broker restarts
- Auto-delete: the exchange is deleted when the last queue is unbound from it
- Arguments: optional, used by plugins and broker-specific features

Exchanges can be durable or transient. Durable exchanges survive broker restarts whereas transient exchanges do not (they have to be redeclared when the broker comes back online). Not all scenarios and use cases require exchanges to be durable.

## Message

Data sent by a producer to an exchange, containing a payload and optional metadata.

## Payload

In RabbitMQ (and messaging systems in general), a payload refers to the actual data or content of a message that is sent from a producer to a consumer. It is the "body" of the message, distinct from any metadata or headers that might be attached.

Example:

```json
{
"order_id": "12345",
"customer_name": "John Doe",
"items": [
{"product_id": "A100", "quantity": 2},
{"product_id": "B200", "quantity": 1}
],
"timestamp": "2026-04-10T12:34:56Z"
}
```

## Persistence

A property of messages that ensures they are saved to disk and survive restarts.

## Prefetch Count

Limits the number of unacknowledged messages sent to a consumer at once.

## Producer

An application that sends messages to a RabbitMQ exchange.

## Queue

A buffer that stores messages until they are consumed by an application.

## Routing Key

A key specified by the producer to determine which queue(s) a message should be delivered to.

## Virtual Host

A logical grouping of exchanges, queues, and permissions, acting like a mini RabbitMQ server.
15 changes: 15 additions & 0 deletions pages/rabbitmq/faq.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
---
title: Cloud Essentials for RabbitMQ FAQ
description: Discover Scaleway Cloud Essentials for RabbitMQ and find answers to general questions.
dates:
validation: 2026-05-06
productIcon: CloudEssentialsProductIcon
---

## Overview

### What is Cloud Essentials for RabbitMQ?

Cloud Essentials for RabbitMQ is a managed solution to quickly deploy a RabbitMQ message broker that can be distributed across several nodes for enhanced performance and high availability.

Refer to the [quickstart documentation](/rabbitmq/quickstart/) to get started.
93 changes: 93 additions & 0 deletions pages/rabbitmq/how-to/connect-to-rabbitmq-deployment.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
---
title: How to connect to a Cloud Essentials for RabbitMQ deployment
description: This page provides a guide on how to connect to a Cloud Essentials for RabbitMQ deployment using the Scaleway console.
tags:
dates:
validation: 2025-05-06
posted: 2025-05-06
---

import Requirements from '@macros/iam/requirements.mdx'

This page explains how to connect to a RabbitMQ deployment using the Scaleway console, using the REST API, or the Advanced Message Queuing Protocol (AMQP).

<Requirements />

- A Scaleway account logged into the [console](https://console.scaleway.com)
- [Owner](/iam/concepts/#owner) status or [IAM permissions](/iam/concepts/#permission) allowing you to perform actions in the intended Organization
- [Created a RabbitMQ deployment](/rabbitmq/how-to/create-rabbitmq-deployment/)

## How to connect to a Cloud Essentials for RabbitMQ deployment

### How to connect to a RabbitMQ dashboard

1. Click **RabbitMQ** in the **Integration Services** section of the console. The list of your RabbitMQ deployments displays.

2. Click the name of the RabbitMQ deployment you want to connect to. Its **Overview** page displays.

3. In the **Deployment information** section, click the **RabbitMQ dashboard** button. A new tab opens in your browser.

4. Enter the credentials set up during deployment creation, then click **Log in**.

You are now connected to your Cloud Essentials for RabbitMQ deployment. Refer to the [RabbitMQ documentation](https://www.rabbitmq.com/docs/management) for comprehensive information on the RabbitMQ management dashboard.

### How to communicate with a deployment using the Management REST API

1. Click **RabbitMQ** in the **Integration Services** section of the console. The list of your RabbitMQ deployments displays.

2. From the **Network** section of the **Overview** tab of your deployment, copy the **API** endpoint.

3. In a terminal, run the following command to check RabbitMQ server health using the Management REST API.

Remember to replace the placeholders with the appropriate values:
- `<username>`: the username set up when the deployment was created
- `<password>`: the password set up when the deployment was created
- `<rabbitmq_host>`: the API endpoint value you have just copied, the string between `amqps://` and `:<port-number>`

```bash
curl -u <username>:<password> http://<rabbitmq_host>:15672/api/healthchecks/node
```

An output similar to the following displays:

```json
{
status: ok,
checks: [
{ check: virtual_hosts, status: ok },
{ check: listeners, status: ok },
{ check: certificate_expiry, status: ok }
]
}
```

You can now interact with your deployment using the Management REST API.

{/* Refer to the [Scaleway Developer reference documentation](placeholder) for comprehensive information on how to communicate with your RabbitMQ deployment using the API. */}

### How to communicate with a deployment using the AMQP protocol

1. Click **RabbitMQ** in the **Integration Services** section of the console. The list of your RabbitMQ deployments displays.

2. From the **Network** section of the **Overview** tab of your deployment, copy the **API** endpoint.

3. In a terminal, run the following command to test connectivity using the AMQP protocol.

Remember to replace the placeholders with the appropriate values:
- `<username>`: the username set up when the deployment was created
- `<password>`: the password set up when the deployment was created
- `<rabbitmq_host>`: the API endpoint value you have just copied, the string between `amqps://` and `:<port-number>`

```bash
python3 -c "import pika; conn = pika.BlockingConnection(pika.URLParameters('amqp://<username>:<password>@<rabbitmq_host>:5672')); print('Connection successful'); conn.close()"
```

An output similar to the following displays:

```bash
Connection successful
```

You can now interact with your deployment using the AMQP protocol.

{/* Refer to the [Scaleway Developer reference documentation](placeholder) for comprehensive information on how to communicate with your RabbitMQ deployment using the API. */}
54 changes: 54 additions & 0 deletions pages/rabbitmq/how-to/create-rabbitmq-deployment.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
---
title: How to create a Cloud Essentials for RabbitMQ deployment
description: This page provides a guide on how to set up a Cloud Essentials for RabbitMQ deployment using the Scaleway console.
tags: rabbitmq message broker manage create deploy dashboard api
dates:
validation: 2025-05-06
posted: 2025-05-06
---

import Requirements from '@macros/iam/requirements.mdx'

This page explains how to create a RabbitMQ deployment using the Scaleway console.

<Requirements />

- A Scaleway account logged into the [console](https://console.scaleway.com)
- [Owner](/iam/concepts/#owner) status or [IAM permissions](/iam/concepts/#permission) allowing you to perform actions in the intended Organization

## How to create a Cloud Essentials for RabbitMQ deployment

1. Click **RabbitMQ** in the **Integration Services** section of the console. The Cloud Essentials for RabbitMQ dashboard displays.

2. Click **+ Create deployment**. A creation form displays.

3. Select a RabbitMQ version for your deployment.

4. Select a region where your resource will be deployed.

5. Select a deployment configuration. You can choose between:

- **High availability**: Ensures fault tolerance in case of node failure, workload distribution across all nodes for improved performance, and service continuity during rolling updates.
- **Standalone**: General Purpose single-node deployment for testing environments and non-critical, small-scale applications, without redundancy.

6. Choose a node type for your deployment. For more information, refer to the [documentation about choosing between shared and dedicated compute resources](/rabbitmq/reference-content/shared-vs-dedicated-resources/).

7. Define a storage capacity for each node. The total storage size for your deployment depends on the number of nodes provisioned.

8. Configure at least one type of network connectivity for your deployment:
- Attach an existing Private Network, or create a new one, to securely communicate with other resources within this Private Network.

- Set up public connectivity to access your deployment over the public internet.


9. Create credentials to log in to your RabbitMQ deployment. These credentials will grant `admin` access to the user.

10. Enter a name for your deployment, or keep the automatically generated one.

11. Review the estimated cost for your cluster, then click **Create deployment** to finish.

You are directed to the **Overview** tab of your deployment.

<Message type="note">
The creation of a Cloud Essentials for RabbitMQ deployment can take several minutes to complete.
</Message>
36 changes: 36 additions & 0 deletions pages/rabbitmq/how-to/delete-rabbitmq-deployment.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
---
title: How to delete a Cloud Essentials for RabbitMQ deployment
description: This page provides a guide on how to delete a Cloud Essentials for RabbitMQ deployment using the Scaleway console.
tags: rabbitmq message broker manage remove drop destroy delete
dates:
validation: 2026-05-06
posted: 2026-05-06
---

import Requirements from '@macros/iam/requirements.mdx'

This page explains how to delete a RabbitMQ deployment using the Scaleway console.

<Message type="important">
Deleting a RabbitMQ deployment is irreversible, and all its associated data will be lost.
</Message>

<Requirements />

- A Scaleway account logged into the [console](https://console.scaleway.com)
- [Owner](/iam/concepts/#owner) status or [IAM permissions](/iam/concepts/#permission) allowing you to perform actions in the intended Organization
- [Created a RabbitMQ deployment](/rabbitmq/how-to/create-rabbitmq-deployment/)

## How to delete a Cloud Essentials for RabbitMQ deployment

1. Click **RabbitMQ** in the **Integration Services** section of the console. The list of your RabbitMQ deployments displays.

2. Click <Icon name="more" /> next to the name of the deployment you want to delete. A confirmation pop-up displays.

3. Type **DELETE** in the field, then click **Delete deployment** to confirm your action.

Your deployment is now deleted.

<Message type="tip">
You can also delete a RabbitMQ deployment from its **Settings** tab.
</Message>
4 changes: 4 additions & 0 deletions pages/rabbitmq/how-to/index.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
---
title: Cloud Essentials for RabbitMQ - How Tos
description: Practical guides for using Scaleway Cloud Essentials for RabbitMQ.
---
30 changes: 30 additions & 0 deletions pages/rabbitmq/how-to/manage-rabbitmq-deployment.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
---
title: How to manage a Cloud Essentials for RabbitMQ deployment
description: This page provides a guide on how to manage a Cloud Essentials for RabbitMQ deployment using the Scaleway console.
tags:
dates:
validation: 2026-05-06
posted: 2026-05-06
---

import Requirements from '@macros/iam/requirements.mdx'

This page explains how to manage a RabbitMQ deployment using the Scaleway console.

<Requirements />

- A Scaleway account logged into the [console](https://console.scaleway.com)
- [Owner](/iam/concepts/#owner) status or [IAM permissions](/iam/concepts/#permission) allowing you to perform actions in the intended Organization
- [Created a RabbitMQ deployment](/rabbitmq/how-to/create-rabbitmq-deployment/)

## How to manage a Cloud Essentials for RabbitMQ deployment

1. Click **RabbitMQ** in the **Integration Services** section of the console. The list of your RabbitMQ deployments displays.

2. Click the name of the RabbitMQ deployment you want to manage. Its **Overview** page displays.

3. From the Overview and using the other tabs, you can:

- Access the dashboard of your deployment
- [View and manage the users of your deployment](/rabbitmq/how-to/manage-users-rabbitmq-deployment/)
- [Delete your deployment](/rabbitmq/how-to/delete-rabbitmq-deployment/)
Loading
Loading