Simple Message Queue (anciennement MNS) utilise les termes suivants pour la messagerie basée sur les files d'attente. Familiarisez-vous avec ces termes avant de configurer des files d'attente, d'envoyer et de recevoir des messages ou de gérer le cycle de vie des messages via l'API.
Compte
ID de compte Alibaba Cloud. Le compte qui crée une file d'attente en devient le propriétaire.
File d'attente
Destination qui stocke les messages jusqu'à ce que les consommateurs les récupèrent. Les producteurs envoient des messages à une file d'attente et les consommateurs les reçoivent depuis celle-ci. Chaque message dans une file d'attente est identifié de manière unique par la combinaison de son ID de message et de son handle de réception (ReceiptHandle).
Types de files d'attente
| Propriété | File d'attente standard | File d'attente différée |
|---|---|---|
| Comportement | Les messages sont immédiatement disponibles pour la consommation | Les messages restent masqués pendant une période de délai configurable avant de devenir disponibles |
| Configuration du délai | DelaySeconds n'est pas défini ou est défini sur 0 | DelaySeconds est défini via CreateQueue ou SetQueueAttributes |
| Cas d'utilisation | Traitement en temps réel où les messages doivent être consommés immédiatement | Traitement différé nécessitant une période de temporisation avant la consommation |
Propriétaire de la file d'attente
Le compte Alibaba Cloud qui crée une file d'attente en est le propriétaire. Les propriétaires de files d'attente sont autorisés à effectuer toutes les opérations sur la file d'attente. Après avoir activé Simple Message Queue (anciennement MNS), appelez l'opération d'API CreateQueue pour créer une file d'attente. Vous trouverez l'ID de compte du propriétaire de la file d'attente sur le site web d'Alibaba Cloud.
Producteur et consommateur
Producteur : client qui envoie des messages à une file d'attente.
Consommateur : client qui reçoit des messages d'une file d'attente.
Endpoint
URL d'accès pour les appels API Simple Message Queue (anciennement MNS). Le format est le suivant :
http://<AccountId>.mns.<Region>.aliyuncs.com
| Espace réservé | Description |
|---|---|
<AccountId> |
Votre ID de compte Alibaba Cloud. Remplacez-le par votre ID de compte réel lors de l'appel aux opérations d'API. |
<Region> |
La région où Simple Message Queue (anciennement MNS) est déployé, telle que cn-hangzhou ou cn-shanghai. |
Types de messages
| Propriété | Message standard | Message différé |
|---|---|---|
| Comportement | Disponible pour la consommation immédiatement après la livraison | Masqué pendant une période de délai spécifiée avant de devenir disponible |
| Configuration | Comportement par défaut lorsqu'aucun DelaySeconds par message n'est défini | Définissez DelaySeconds dans la requête SendMessage |
Un message différé utilise un délai défini par message au moment de l'envoi. Une file d'attente différée applique un délai au niveau de la file d'attente à tous les messages entrants. Les deux utilisent DelaySeconds, mais à des niveaux différents.
ID de message vs handle de réception
| Propriété | ID de message | Handle de réception |
|---|---|---|
| Généré lorsque | Un message est envoyé à une file d'attente | Un message est consommé depuis une file d'attente |
| Unicité | Unique au sein d'une file d'attente, pas entre les files d'attente | Unique par opération de consommation |
| Durée de vie | Permanente et immuable | Temporaire ; expire lorsque le statut du message change |
| Utilisation principale | Suivre et vérifier les données | Supprimer un message consommé ou modifier son VisibilityTimeout |
| Réutilisabilité | Valide pendant toute la durée de vie du message | À usage unique ; consommez à nouveau le message pour obtenir un nouveau handle |
Pour supprimer un message, utilisez son handle de réception, et non son ID de message.
Statut du message
Chaque message traverse les statuts suivants :
| Statut | Description |
|---|---|
| Active | Disponible pour la consommation. Seuls les messages ayant ce statut peuvent être consommés. |
| Inactive | Consommé et temporairement masqué pendant la durée de VisibilityTimeout. |
| Delayed | En attente de l'expiration de la période DelaySeconds avant de devenir Active. |
| Deleted | Supprimé explicitement par un consommateur à l'aide de son handle de réception. |
| Expired | A dépassé la période MessageRetentionPeriod et a été recyclé automatiquement. |
Transitions de statut
Message standard dans une file d'attente standard
Le message arrive dans la file d'attente avec le statut Active.
Un consommateur reçoit le message. Le statut passe à Inactive pendant la durée de la période VisibilityTimeout.
-
Deux issues sont possibles :
Le consommateur supprime le message pendant la période VisibilityTimeout. Le statut passe à Deleted.
La période VisibilityTimeout expire sans suppression. Le statut revient à Active et le message redevient disponible pour la consommation.
Message standard dans une file d'attente différée
Le message arrive dans la file d'attente avec le statut Delayed.
Une fois la période DelaySeconds écoulée, le statut passe à Active.
À partir de ce moment, le message suit les mêmes transitions qu'un message standard dans une file d'attente standard.
Message différé (délai par message)
Le message est envoyé avec une valeur DelaySeconds spécifique au message. Le statut initial est Delayed.
Une fois la période DelaySeconds écoulée, le statut passe à Active.
À partir de ce moment, le message suit les mêmes transitions qu'un message standard dans une file d'attente standard.
Expiration du message
Si un message n'est pas supprimé avant l'expiration de sa période MessageRetentionPeriod, son statut passe à Expired, quel que soit son statut actuel. Les messages expirés sont automatiquement recyclés.
Diagramme de transition des statuts

Diagramme du cycle de vie des messages
