Un exchange achemine les messages des producteurs vers une ou plusieurs files d'attente, ou les rejette, en fonction des clés de routage. Chaque type d'exchange applique des règles de routage différentes. Créez des exchanges, consultez les statistiques, configurez les liaisons et envoyez des messages de test dans la console Alibaba Cloud Message Queue for RabbitMQ.
Créer un exchange
Connectez-vous à la console ApsaraMQ for RabbitMQ. Dans le volet de navigation de gauche, cliquez sur Instances.
Dans la barre de navigation supérieure de la page Instances, sélectionnez la région où réside l'instance à gérer. Dans la liste des instances, cliquez sur le nom de l'instance concernée.
Dans le volet de navigation de gauche, cliquez sur Exchanges.
Sur la page Exchanges, sélectionnez un vhost dans la liste déroulante Change située à côté de vhost, puis cliquez sur Create Exchange.
-
Dans le panneau Create Exchange, saisissez un nom pour l'exchange (Exchange Name), sélectionnez un Type, indiquez si l'exchange est internal, puis cliquez sur OK.
Parameter
Description
Exchange Name
Le nom de l'exchange. Les noms préfixés par
amq.sont réservés. Par exemple,amq.testn'est pas valide.Type
Le type d'exchange. Valeurs possibles :
-
direct : Achemine les messages vers les files d'attente dont la clé de liaison correspond exactement à la clé de routage.
-
topic : Similaire au type direct, mais prend en charge la correspondance de motifs avec des caractères génériques entre la clé de routage et la clé de liaison.
-
fanout : Achemine tous les messages vers chaque file d'attente liée, à la manière d'une diffusion.
-
headers : Achemine les messages en comparant les attributs d'en-tête des messages aux attributs de liaison, tous deux spécifiés sous forme de paires clé-valeur. N'utilise pas de clé de routage.
-
x-delayed-message : Définissez l'en-tête x-delay sur un message pour spécifier un délai en millisecondes. Une fois la période x-delay écoulée, le message est acheminé selon le type de routage de l'exchange spécifié dans x-delayed-type.
-
x-consistent-hash : Hache une clé de routage ou une valeur d'en-tête et utilise le hachage cohérent pour distribuer les messages entre les files d'attente.
x-delayed-type
Requis lorsque le champ Type est défini sur
x-delayed-message. Spécifie le type de routage pour l'exchange.Hash value
Requis lorsque le champ Type est défini sur
x-consistent-hash. Spécifie le type d'entrée pour le calcul du hachage. Valeurs possibles :-
Routing Key
-
Header Value : Si cette option est sélectionnée, vous devez également spécifier le paramètre hash-header.
hash-header
Requis lorsque le champ Type est défini sur
x-consistent-hashet que la Hash value est définie sur Header Value. Clé d'en-tête utilisée comme entrée pour le calcul du hachage.Internal
Indique si l'exchange est interne. Valeur par défaut : No. Valeurs possibles :
-
Yes : L'exchange est interne et utilisé uniquement pour les liaisons entre exchanges.
-
No : L'exchange n'est pas interne et est utilisé pour les liaisons entre un exchange et une file d'attente.
-
Consulter les statistiques
Consultez diverses métriques de surveillance pour identifier et résoudre rapidement les problèmes.
Sur la page Exchanges, localisez l'exchange cible et cliquez sur Details dans la colonne Actions.
-
Sur la page Exchange Details, cliquez sur l'onglet Monitoring and Alerting ou Dashboard.
Les statistiques disponibles dépendent de l'édition de l'instance :
Enterprise Edition et Enterprise Platinum Edition : Consultez les métriques issues d'Application Real-Time Monitoring Service (ARMS) for Prometheus et de Grafana. Pour plus d'informations sur le tableau de bord et ses métriques, consultez Dashboard.
-
Les éditions Standard et Professional fournissent des données de surveillance via CloudMonitor. Pour plus d'informations sur les métriques, consultez Monitoring Metrics.
RemarqueApsaraMQ for RabbitMQ ne propose plus de nouvelles instances Standard Edition. Ces informations s'appliquent uniquement aux instances Standard Edition existantes.
Lier un exchange à une file d'attente
Lie un exchange à une file d'attente pour y acheminer les messages.
Sur la page Exchanges, localisez l'exchange cible et cliquez sur Bound as Source dans la colonne Actions.
Sur la page Exchange Details, cliquez sur l'onglet Bound as Source, puis cliquez sur Add Binding.
-
Dans le panneau Add Binding, définissez le champ Type of Destination to Bind sur Queue, sélectionnez une file d'attente pour le champ Destination to Bind, configurez la Routing Key, puis cliquez sur OK.
RemarquePour les exchanges de type x-consistent-hash, la Routing Key représente le poids de la file d'attente et doit être un entier compris entre 1 et 20.
Si une liaison en double existe, seule la première liaison valide prend effet.
Pour modifier le poids d'une file d'attente liée, supprimez la liaison existante et ajoutez-en une nouvelle.

Lier un exchange à un autre exchange
Lie un exchange à un autre exchange en tant que destination. Les messages sont transférés de la source vers la destination selon les règles de routage.
Sur la page Exchanges, localisez l'exchange cible et cliquez sur Bound as Source dans la colonne Actions.
Sur la page Exchange Details, cliquez sur l'onglet Bound as Source, puis cliquez sur Add Binding.
-
Dans le panneau Add Binding, définissez le champ Type of Destination to Bind sur Exchange, sélectionnez un exchange pour le champ Destination to Bind, configurez la Routing Key, puis cliquez sur OK.

Lier un exchange en tant que destination
Lie un exchange source à l'exchange actuel, ce dernier devenant la destination. Les messages sont transférés depuis la source selon les règles de routage.
Sur la page Exchanges, localisez l'exchange cible et cliquez sur Details dans la colonne Actions.
Sur la page Exchange Details, cliquez sur l'onglet Bound as Destination, puis cliquez sur Add Binding.
-
Dans le panneau Add Binding, sélectionnez un Source Exchange et saisissez une clé de routage dans la zone de texte Routing Key. Le champ Type of Destination to Bind est défini par défaut sur Exchange, et le champ Destination Exchange est défini par défaut sur cet exchange. Cliquez sur OK.

Envoyer un message
Après avoir créé une liaison, envoyez un message de test depuis la console. Le message est acheminé vers la file d'attente ou l'exchange de destination lié.
Sur la page Exchanges, localisez l'exchange cible et cliquez sur Details dans la colonne Actions.
Sur la page Exchange Details, cliquez sur l'onglet Bound as Source ou Bound as Destination.
Dans la liste des liaisons, localisez la liaison cible et cliquez sur Send Message dans la colonne Actions.
Dans le panneau Send Message qui s'affiche, saisissez un Message ID et le Message Body, puis cliquez sur OK.
Supprimer un exchange
La suppression d'un exchange est irréversible. Les producteurs ne peuvent plus lui envoyer de messages et tout le routage s'arrête.
Vous ne pouvez pas supprimer les exchanges de type headers.
Vous ne pouvez pas supprimer les trois exchanges intégrés d'un vhost :
amq.direct,amq.topicetamq.fanout.
Sur la page Exchanges, cliquez sur le nom de l'exchange à supprimer. Sur la page Exchange Details, cliquez sur Delete dans le coin supérieur droit.
Dans la boîte de dialogue Confirmation, lisez le message et cliquez sur OK.