Skip to content

Commit 2431f5c

Browse files
feat(queues): add dead-letter queue feature doc (#4741)
* fix(queues): add dead-letter queue feature * fix(queues): reorganize concept * fix(queues): add dead letter queues * Apply suggestions from code review Co-authored-by: ldecarvalho-doc <[email protected]> --------- Co-authored-by: ldecarvalho-doc <[email protected]>
1 parent a6e82ad commit 2431f5c

8 files changed

+14
-4
lines changed
25.5 KB
Loading
-42.9 KB
Binary file not shown.
37.5 KB
Loading

pages/messaging/concepts.mdx

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,11 @@ Content-based deduplication is a setting available for [FIFO](#fifo) queues. Ena
2525

2626
Credentials give services and platforms access to Scaleway NATS, Queues, and Topics and Events, enabling them to connect to the host system. Credentials are product-specific: for **Queues** and **Topics ad Events**, different levels of permissions can be defined to write, read, or manage queues/topics. NATS credentials give full read-write-manage access. Refer to our [additional content](/messaging/reference-content/) for more information.
2727

28-
## Dead Letter Queue
28+
## Dead-letter queue
2929

30-
A **D**ead **L**etter **Q**ueue (DLQ), or **undelivered-message queue**, receives and holds messages that cannot be delivered to their destination queues. If you designate a queue as a DLQ and its [storage quota](/organizations-and-projects/additional-content/organization-quotas/#queues) is reached, messages won't be redriven to the DLQ until enough free space is available again. If your DLQ is at its full quota, free up space by receiving and deleting messages from any queue in your Project.
30+
A **D**ead-**l**etter **q**ueue (DLQ), or **undelivered-message queue**, receives and holds messages that cannot be delivered to their destination queues. A DLQ must be of the same type (FIFO or Standard), in the same Project and in the same region as the queue(s) it serves. Each DLQ also has an associated parameter: [maximum receive count](#maximum-receive-count). A single queue can serve as dead-letter queue to multiple source queues.
31+
32+
If you designate a queue as a DLQ and its [storage quota](/organizations-and-projects/additional-content/organization-quotas/#queues) is reached, messages won't be redriven to the DLQ until enough free space is available again. If your DLQ is at its full quota, free up space by receiving and deleting messages from any queue in your Project.
3133

3234
## Fanout
3335

@@ -49,6 +51,10 @@ Long polling is a technology where the client requests information from the serv
4951

5052
A message broker is a piece of software that allows applications, systems and services to communicate with each other and send/receive data. It facilitates the exchange of information by receiving messages from a producer, and transmitting them to a consumer. All communication with producers and consumers uses a [protocol](#messaging-protocol). There are two basic models of communication for message brokers: [publish/subscribe](#publishsubscribe) and [queuing](#queuing).
5153

54+
## Maximum receive count
55+
56+
The maximum receive count is a setting that can be configured for a [dead-letter queue](#dead-letter-queue). It defines how many times a message can be received by consumers from the source queue before being moved to the dead-letter queue. This value must be between 1 and 1,000.
57+
5258
## Message retention period
5359

5460
The message retention period is a setting that can be configured for a queue. It represents the length of time (in seconds) that messages are kept in the queue before being deleted. Setting a longer message retention period allows for a longer interval between a message being sent and it being received. Read more in our dedicated documentation on [creating queues](/messaging/how-to/create-manage-queues/).
-17.3 KB
Loading
-21.4 KB
Loading

pages/messaging/how-to/create-manage-queues.mdx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ This page shows how to create and manage your Scaleway [Queues](/messaging/conce
2525
1. Click **Queues** in the **Serverless** section of the Scaleway console side menu.
2626

2727
2. Click **Create queue**. The Queue creation wizard displays.
28+
2829
<Lightbox src="scaleway-queues-create-queue.webp" alt="In the Scaleway console, the Create a Queue screen displays. The different sections of the screen are described in the steps below." />
2930

3031
3. Select the [region](/messaging/concepts/#region) in which you want to create the queue.
@@ -40,6 +41,7 @@ This page shows how to create and manage your Scaleway [Queues](/messaging/conce
4041
- **Message retention period**: The length of time (in seconds) that messages are kept in the queue before being deleted. Setting a longer message retention period allows for a longer interval between a message being sent and it being received. The default value is 60 seconds. The value must be between 60 seconds and 1 290 600 seconds (14 days).
4142
- **Maximum message size**: The maximum size (in kilobytes) of a message that can be sent to the queue. Messages greater than the defined size will be rejected. The default value is 256 KB. The value must be between 1 KB and 256 KB.
4243
- **Content Based Deduplication**: This setting is only available for FIFO queues. Enable content-based deduplication if the message body is guaranteed to be unique for each message. A unique hash value is generated from the body of each message, which is used as its deduplication ID. This avoids the need to set a deduplication ID when sending messages.
44+
- **Dead-letter queue**: Designate another queue to [receive undelivered messages](/messaging/concepts/#dead-letter-queue) from this queue. If you select this option, you are prompted to select an existing queue as dead-letter queue. This queue must be of the same type, in the same Project and in the same region as the queue you are creating. You must also enter a value for the **maximum receive count**: how many times a message can be received by consumers from the source queue before being moved to the dead-letter queue.
4345

4446
7. Click **Create queue** to finish.
4547

@@ -61,9 +63,9 @@ You can modify the visibility timeout, message retention period and maximum mess
6163

6264
3. Click the queue you wish to modify. The queue's **Settings** page displays:
6365

64-
<Lightbox src="scaleway-queues-queue-settings.webp" alt="In the Scaleway console, the queue's settings displays includes a Queue information panel (showing its type, number of messages, region, creation date, URL and ARN), a Queue information panel (with visibility timeout, message retention period, max message size and content based deduplication settings), and a Delete queue panel (with a button to delete the queue)." />
66+
<Lightbox src="scaleway-queues-queue-settings.webp" alt="In the Scaleway console, the queue's settings displays includes a Queue information panel (showing its type, number of messages, region, creation date, URL and ARN), a Queue configuration panel (with visibility timeout, message retention period, max message size, content based deduplication and dead-letter queue settings), and a Delete queue panel (with a button to delete the queue)." />
6567

66-
4. Modify the visibility timeout, message retention period, maximum message size, and (for FIFO queues) content-based deduplication values as you wish.
68+
4. Modify the visibility timeout, message retention period, maximum message size, dead-letter queue settings, and (for FIFO queues) content-based deduplication values as you wish.
6769

6870
5. Click **Save**.
6971

pages/messaging/quickstart.mdx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,7 @@ Credentials for Queues are granular: you can define the level of access that the
127127
1. Click **Queues** in the **Serverless** section of the Scaleway console side menu.
128128

129129
2. Click **Create queue**. The queue creation wizard displays.
130+
130131
<Lightbox src="scaleway-queues-create-queue.webp" alt="In the Scaleway console, the Create a Queue screen displays. The different sections of the screen are described in the steps below." />
131132

132133
3. Select the [region](/messaging/concepts/#region) in which you want to create the queue.
@@ -142,6 +143,7 @@ Credentials for Queues are granular: you can define the level of access that the
142143
- **Message retention period**: The length of time (in seconds) that messages are kept in the queue before being deleted. Setting a longer message retention period allows for a longer interval between a message being sent and it being received. The default value is 60 seconds. The value must be between 60 seconds and 1 209 600 seconds (14 days).
143144
- **Maximum message size**: The maximum size (in kilobytes) of a message that can be sent to the queue. Messages greater than the defined size will be rejected. The default value is 256 KB. The value must be between 1 KB and 256 KB.
144145
- **Content Based Deduplication**: This setting is only available for FIFO queues. Enable content-based deduplication if the message body is guaranteed to be unique for each message. A unique hash value is generated from the body of each message, which is used as its deduplication ID. This avoids the need to set a deduplication ID when sending messages.
146+
- **Dead-letter queue**: Designate another queue to receive undelivered messages from this queue. If you select this option, you are prompted to select an existing queue as dead-letter queue. This queue must be of the same type, in the same Project and in the same region as the queue you are creating. You must also enter a value for the **maximum receive count** (how many times a message can be received from the source queue before being moved to the dead-letter queue).
145147

146148
7. Click **Create queue** to finish.
147149

0 commit comments

Comments
 (0)