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 de 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 seule file d'attente, ce qui permet une meilleure mise à l'échelle.

Les canaux ne nécessitent pas de création ou de suppression explicite. Les canaux partagent les mêmes autorisations, la même méthode de chiffrement et les mêmes limites de leur file d'attente parent, mais les files d'attente peuvent configurer la capacité du canal, ce qui limite la capacité globale de la file d'attente qu'un seul canal peut utiliser à tout moment.

Équité du traitement du message

Lorsque de nombreux producteurs publient dans la même file d'attente, une augmentation soudaine du volume d'un producteur peut entraîner des retards dans le traitement des messages d'autres producteurs. Dans certains scénarios, vous pourriez avoir besoin de protéger la consommation de messages contre le biais au profit des consommateurs ayant plus de trafic ou des voisins bruyants.

Sans les canaux, vous devez tenir à jour des files d'attente individuelles pour chaque producteur et mettre en œuvre un mécanisme d'équilibrage de charge pour consommer les messages de tous les producteurs de manière égale.

Avec les canaux, chaque fournisseur peut publier des messages sur un canal spécifique, mais vous pouvez consommer des messages au niveau de la file d'attente. Le service File d'attente retourne des messages à partir d'un canal aléatoire contenant des messages disponibles, ce qui améliore l'équité.

Sélection de message

Les consommateurs peuvent inclure un paramètre facultatif dans les demandes pour sélectionner les messages publiés avec l'ID canal correspondant. Le service de file d'attente ne retourne que les messages disponibles provenant d'un des canaux correspondant à l'ID.

Si plusieurs ID canaux correspondent à la sélection dans une demande, les messages sont retourné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 retournés d'un canal aléatoire avec des messages disponibles.

Pour plus d'informations, voir Consommation de messages à partir d'un canal.

Modèles de demande et de réponse

Un modèle éphémère de réponse de demande est un modèle d'intégration bien établi qui permet à une application expéditrice d'envoyer une demande et permet au destinataire d'envoyer correctement une réponse à l'application expéditrice. Ce modèle n'a généralement besoin que d'une file d'attente de courte durée pour la transaction.

À 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 canal qui s'identifie de manière unique. Une application de consommateur peut envoyer une réponse au fournisseur de messages et inclure son ID. Une fois que le fournisseur reçoit la réponse qui inclut le même code, la transaction est considérée comme terminée. Une fois les messages traités et supprimés par le consommateur, et s'il n'existe plus de messages dans le canal, le canal est automatiquement supprimé.