diff --git a/pages/messaging/assets/scaleway-queues-create-queue .webp b/pages/messaging/assets/scaleway-queues-create-queue .webp new file mode 100644 index 0000000000..e53fbcfa94 Binary files /dev/null and b/pages/messaging/assets/scaleway-queues-create-queue .webp differ diff --git a/pages/messaging/assets/scaleway-queues-create-queue.webp b/pages/messaging/assets/scaleway-queues-create-queue.webp deleted file mode 100644 index 1805c4eb9b..0000000000 Binary files a/pages/messaging/assets/scaleway-queues-create-queue.webp and /dev/null differ diff --git a/pages/messaging/assets/scaleway-queues-gen-creds copy.webp b/pages/messaging/assets/scaleway-queues-gen-creds copy.webp new file mode 100644 index 0000000000..dc53bbb7de Binary files /dev/null and b/pages/messaging/assets/scaleway-queues-gen-creds copy.webp differ diff --git a/pages/messaging/concepts.mdx b/pages/messaging/concepts.mdx index 3c5e3e34b6..4cbee27ce6 100644 --- a/pages/messaging/concepts.mdx +++ b/pages/messaging/concepts.mdx @@ -25,9 +25,11 @@ Content-based deduplication is a setting available for [FIFO](#fifo) queues. Ena 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. -## Dead Letter Queue +## Dead-letter queue -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. +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. + +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. ## Fanout @@ -49,6 +51,10 @@ Long polling is a technology where the client requests information from the serv 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). +## Maximum receive count + +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. + ## Message retention period 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/). diff --git a/pages/messaging/how-to/assets/scaleway-queues-create-queue.webp b/pages/messaging/how-to/assets/scaleway-queues-create-queue.webp index 1805c4eb9b..e53fbcfa94 100644 Binary files a/pages/messaging/how-to/assets/scaleway-queues-create-queue.webp and b/pages/messaging/how-to/assets/scaleway-queues-create-queue.webp differ diff --git a/pages/messaging/how-to/assets/scaleway-queues-queue-settings.webp b/pages/messaging/how-to/assets/scaleway-queues-queue-settings.webp index b6bc282a12..15810df350 100644 Binary files a/pages/messaging/how-to/assets/scaleway-queues-queue-settings.webp and b/pages/messaging/how-to/assets/scaleway-queues-queue-settings.webp differ diff --git a/pages/messaging/how-to/create-manage-queues.mdx b/pages/messaging/how-to/create-manage-queues.mdx index 9ff931c1eb..b0c93eeb45 100644 --- a/pages/messaging/how-to/create-manage-queues.mdx +++ b/pages/messaging/how-to/create-manage-queues.mdx @@ -25,6 +25,7 @@ This page shows how to create and manage your Scaleway [Queues](/messaging/conce 1. Click **Queues** in the **Serverless** section of the Scaleway console side menu. 2. Click **Create queue**. The Queue creation wizard displays. + 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 - **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). - **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. - **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. + - **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. 7. Click **Create queue** to finish. @@ -61,9 +63,9 @@ You can modify the visibility timeout, message retention period and maximum mess 3. Click the queue you wish to modify. The queue's **Settings** page displays: - + -4. Modify the visibility timeout, message retention period, maximum message size, and (for FIFO queues) content-based deduplication values as you wish. +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. 5. Click **Save**. diff --git a/pages/messaging/quickstart.mdx b/pages/messaging/quickstart.mdx index 22865766a6..c5142fc195 100644 --- a/pages/messaging/quickstart.mdx +++ b/pages/messaging/quickstart.mdx @@ -127,6 +127,7 @@ Credentials for Queues are granular: you can define the level of access that the 1. Click **Queues** in the **Serverless** section of the Scaleway console side menu. 2. Click **Create queue**. The queue creation wizard displays. + 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 - **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). - **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. - **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. + - **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). 7. Click **Create queue** to finish.