Canaux
Un canal est une destination éphémère dans une file d'attente qui peut être utilisée pour améliorer l'équité du traitement des messages, spécifier la sélection des messages et activer les modèles demande-réponse. Les messages publiés sur un canal peuvent être consommés à partir de la file d'attente ou du niveau du canal.
Les canaux augmentent le nombre de destinations individuelles adressables dans une file d'attente unique, ce qui permet une meilleure mise à l'échelle.
Les canaux ne nécessitent ni création ni suppression explicites. Les canaux partagent les mêmes droits d'accès, méthode de cryptage et limites de leur file d'attente parent, mais les files d'attente peuvent configurer la capacité de canal, ce qui limite la capacité globale maximale qu'un seul canal peut utiliser à tout moment.
Équité de traitement des messages
Lorsque de nombreux producteurs publient dans la même file d'attente, un pic soudain de volume d'un producteur peut entraîner des retards dans le traitement des messages d'autres producteurs. Dans certains scénarios, vous devrez peut-être protéger la consommation de messages contre le détournement au profit des consommateurs ayant plus de trafic ou des voisins bruyants.
Sans canaux, vous devez tenir à jour les files d'attente individuelles pour chaque producteur et implémenter un mécanisme d'équilibrage de charge pour consommer uniformément les messages de tous les producteurs.
Avec les canaux, chaque émetteur peut publier des messages vers un canal spécifique, mais vous pouvez utiliser des messages au niveau de la file d'attente. Le service File d'attente renvoie des messages à partir d'un canal aléatoire contenant des messages disponibles, ce qui améliore l'équité.
Sélection de message
Les destinataires peuvent inclure un paramètre facultatif dans les demandes pour sélectionner les messages qui ont été publiés avec l'ID de canal correspondant. Le service File d'attente renvoie uniquement les messages disponibles provenant de l'un des canaux correspondant à l'ID.
Si plusieurs ID de canaux correspondent à la sélection dans une demande, les messages sont renvoyés à partir d'un canal aléatoire contenant des messages disponibles. Si les messages sont publiés sur un canal spécifique mais qu'une demande de consommation n'inclut pas de canal, les messages sont renvoyés à partir d'un canal aléatoire avec des messages disponibles.
Pour plus d'informations, reportez-vous à Utilisation de messages d'un canal.
Modèles demande-réponse
Un modèle éphémère de réponse à une demande est un modèle d'intégration bien établi qui permet à une application émettrice d'envoyer une demande et permet au récepteur d'envoyer correctement une réponse à l'application émettrice. Ce modèle n'a généralement besoin que d'une file d'attente de courte durée pour la transaction.
A l'aide de files d'attente et de canaux, plusieurs applications peuvent envoyer des messages à une seule file d'attente et spécifier un ID de canal qui s'identifie de manière unique. Une application consommateur peut envoyer une réponse au producteur de messages et inclure son ID. Une fois que le producteur reçoit la réponse qui inclut le même ID, la transaction est considérée comme terminée. Une fois les messages traités avec succès et supprimés par le consommateur, et si aucun autre message n'existe dans le canal, le canal est automatiquement supprimé.