Ce glossaire définit les concepts fondamentaux d'ApsaraMQ for RocketMQ. Les termes sont classés par fonction : structure des messages, production et consommation, ainsi que gestion et supervision.
Messages
Topic
Le topic est le classifieur principal des messages. Les producteurs envoient les messages vers un topic et les consommateurs s'y abonnent pour les recevoir. Chaque topic contient une ou plusieurs files de messages (partitions).
Pour structurer vos topics, consultez la rubrique Meilleures pratiques relatives aux topics et aux tags.
Tag
Le tag est un classifieur secondaire qui catégorise les messages au sein d'un topic. Alors que le topic définit la catégorie générale du message, les tags permettent aux consommateurs de filtrer des sous-ensembles spécifiques de messages dans ce topic.
Pour utiliser conjointement les tags et les topics, consultez la rubrique Meilleures pratiques relatives aux topics et aux tags.
Message
Le message est l'unité de base du transfert de données dans ApsaraMQ for RocketMQ. Chaque message appartient à un topic et peut porter un tag.
ID de message
Identifiant globalement unique qu'ApsaraMQ for RocketMQ attribue automatiquement à chaque message. Utilisez les IDs de message pour suivre et interroger des messages individuels.
Clé de message
Identifiant métier défini par le producteur pour associer un message à une logique métier spécifique. Contrairement à l'ID de message (généré par le système), la clé de message est définie par l'application et facilite la localisation des messages liés à une opération métier particulière.
File de messages
Également appelée partition de topic. Une file de messages correspond à une partition physique au sein d'un topic. Chaque topic contient une ou plusieurs files, attribuées automatiquement lors de la création du topic. Le nombre de files dans un topic ne peut pas être modifié après sa création.
Producteurs
Producteur
Entité (également appelée éditeur de messages) qui crée et envoie des messages vers ApsaraMQ for RocketMQ.
Instance de producteur
Processus client producteur. Différentes instances de producteur peuvent s'exécuter dans des processus distincts ou sur des machines différentes. Les instances de producteur sont thread-safe : une seule instance peut exécuter plusieurs threads au sein du même processus.
Consommateurs
Consommateur
Entité (également appelée abonné aux messages) qui reçoit et traite les messages provenant d'ApsaraMQ for RocketMQ. ApsaraMQ for RocketMQ prend en charge deux types de consommateurs :
| Type de consommateur | Comportement |
|---|---|
| Consommateur push | Le broker pousse les messages vers le consommateur. |
| Consommateur pull | Le consommateur extrait activement les messages du broker. Seul le SDK TCP pour Java prend en charge ce type de consommateur. |
Les consommateurs pull nécessitent une instance Enterprise Platinum Edition. Pour plus de détails, consultez les rubriques Méthodes et paramètres et S'abonner aux messages.
Instance de consommateur
Processus client consommateur. Différentes instances de consommateur peuvent s'exécuter dans des processus distincts ou sur des machines différentes. Chaque instance de consommateur utilise un pool de threads pour traiter les messages.
Offset de consommateur
L'offset de consommateur indique la progression de lecture d'un consommateur pull dans une partition. Les consommateurs pull consomment les messages d'une partition de manière séquentielle. Chaque partition comporte les marqueurs d'offset suivants :
MaxOffset : Nombre total de messages dans la partition.
MinOffset : Point de départ de la partition.
ConsumerOffset : Nombre de messages déjà consommés.
Le nombre de messages non consommés (accumulés) est égal à MaxOffset moins ConsumerOffset.
Groupe
Collection logique de producteurs ou de consommateurs. Tous les clients d'un groupe produisent ou consomment le même type de messages et suivent la même logique de publication/abonnement.
Group ID
Identifiant unique d'un groupe.
Modes de consommation
ApsaraMQ for RocketMQ prend en charge deux modes de consommation. La différence réside dans le fait que chaque message soit livré à un seul consommateur ou à tous les consommateurs d'un groupe.
| Mode | Comportement de livraison | Exemple (9 messages, 3 consommateurs) |
|---|---|---|
| Consommation en cluster | Les messages sont répartis uniformément entre les consommateurs du groupe. Chaque message est adressé à un seul consommateur. | Chaque consommateur traite 3 messages. |
| Consommation en broadcast | Chaque consommateur du groupe reçoit tous les messages. | Chaque consommateur traite les 9 messages. |
Pour plus de détails, consultez la rubrique Consommation en cluster et consommation en broadcast.
Types de messages
Message planifié
Message livré aux consommateurs à un moment précis. Le broker conserve le message jusqu'à l'heure de livraison planifiée.
Pour plus de détails, consultez la rubrique Messages planifiés et messages différés.
Message différé
Message livré aux consommateurs après une période de délai spécifiée. Contrairement à un message planifié (livré à une heure fixe), un message différé est livré après un intervalle de temps relatif à partir de son envoi.
Pour plus de détails, consultez la rubrique Messages planifiés et messages différés.
Message transactionnel
Message participant à une transaction distribuée. ApsaraMQ for RocketMQ fournit un mécanisme de transaction distribuée similaire à X/Open XA (eXtended Architecture) afin de garantir la cohérence à terme des transactions distribuées.
Pour plus de détails, consultez la rubrique Messages transactionnels.
Message ordonné
Message publié et consommé selon un ordre strict de premier entré, premier sorti (FIFO).
Pour plus de détails, consultez la rubrique Messages ordonnés.
Message ordonné par partition
Message ordonné au sein d'une partition spécifique plutôt que sur l'ensemble du topic. ApsaraMQ for RocketMQ utilise une clé de sharding pour attribuer les messages aux partitions. Les messages partageant la même clé de sharding sont publiés et consommés dans un ordre FIFO strict au sein de leur partition.
Une clé de sharding ne peut pas servir de clé de message.
Pour plus de détails, consultez la rubrique Messages ordonnés.
Opérations et supervision
Accumulation de messages
L'accumulation de messages se produit lorsque les consommateurs ne parviennent pas à suivre le rythme d'envoi des producteurs. Les messages non consommés s'accumulent sur le broker.
Messages accumulés = Messages en cours de traitement + Messages prêts
Messages en cours de traitement : Messages actuellement traités par les consommateurs mais pas encore acquittés.
Messages prêts : Messages disponibles pour la consommation mais pas encore livrés.

Filtrage des messages
Mécanisme côté broker permettant aux consommateurs de recevoir uniquement les messages correspondant à des tags spécifiques. Comme le filtrage s'exécute sur le broker, les messages non pertinents ne sont jamais transmis au consommateur.
Pour plus de détails, consultez la rubrique Filtrage des messages.
Traçabilité des messages
Enregistrement complet du cycle de vie d'un message, depuis sa publication par un producteur jusqu'à son traitement par un consommateur. Chaque trace inclut des horodatages et des emplacements tout au long du parcours complet : producteur, broker et consommateur. Utilisez la traçabilité des messages pour diagnostiquer les problèmes de livraison et vérifier le flux des messages.
Pour plus de détails, consultez la rubrique Interroger les traces de messages.
Réinitialisation des offsets de consommateur
Réinitialise la progression de consommation d'un groupe de consommateurs à un point temporel spécifique. Après la réinitialisation, les consommateurs relisent tous les messages envoyés après l'horodatage spécifié. La plage de réinitialisation est limitée à la fenêtre de stockage persistant, qui est par défaut de trois jours.
Pour plus de détails, consultez la rubrique Réinitialiser les offsets de consommateur.
File d'attente des messages morts
File dédiée qui stocke les messages dont la consommation échoue. Lorsqu'un message ne peut pas être consommé, ApsaraMQ for RocketMQ réessaie automatiquement la livraison. Si le message échoue toujours après le nombre maximal de tentatives, il devient un message mort et est déplacé vers la file d'attente des messages morts associée à ce groupe de consommateurs, plutôt que d'être supprimé.
Pour plus de détails, consultez la rubrique Files d'attente des messages morts.