Le routage global des messages transfère les messages entre des files d'attente ou d'une file d'attente vers un exchange, à travers différentes instances, vhosts ou régions. Ce fonctionnement est similaire à celui du plug-in Shovel de RabbitMQ open source.
Notes d'utilisation
Des frais supplémentaires s'appliquent. Le coût total correspond aux frais ApsaraMQ for RabbitMQ, aux frais de transfert EventBridge et aux frais de trafic Cloud Enterprise Network (CEN) (uniquement pour les transferts inter-régions). ApsaraMQ for RabbitMQ : Facturation des instances par abonnement. EventBridge : Facturation. CEN : Règles de facturation.
Le routage en relais n'est pas pris en charge. Pour transférer des messages de l'instance A vers l'instance C, créez une route directe. Vous ne pouvez pas router les messages via une instance B intermédiaire.
Une latence peut survenir lors de la synchronisation. Des volumes de messages élevés et une bande passante réseau limitée peuvent entraîner des retards.
Des limites s'appliquent à la taille des messages : la taille maximale des messages de l'instance de destination doit être supérieure ou égale à celle de l'instance source. Les messages dépassant la limite de destination échouent lors du routage et sont perdus.
Prérequis
-
ApsaraMQ for RabbitMQ
Les instances, vhosts, exchanges et files d'attente source et de destination sont créés et disponibles.
-
EventBridge
Activez EventBridge et accordez les autorisations RAM utilisateur requises. Activer EventBridge et accorder des autorisations à un utilisateur RAM.
Créer une tâche de routage global des messages
Connectez-vous à la console ApsaraMQ for RabbitMQ. Dans le volet de navigation de gauche, cliquez sur Shovel Task.
Sur la page Shovel Task, cliquez sur Create Task.
-
(Facultatif) Dans la boîte de dialogue Alibaba Cloud Service Authorization - Message Queue RabbitMQ, lisez le message et cliquez sur OK.
Lors de la première création d'une tâche de routage global des messages, les rôles liés au service suivants sont automatiquement créés : AliyunServiceRoleForEventBridgeSourceRabbitMQ et AliyunServiceRoleForEventBridgeSendToRabbitMQ. Rôles liés au service.
RemarqueEventBridge endosse le rôle AliyunServiceRoleForEventBridgeSourceRabbitMQ pour recevoir les messages envoyés par l'instance source.
EventBridge endosse le rôle AliyunServiceRoleForEventBridgeSendToRabbitMQ pour transférer les messages vers l'instance de destination.
-
Sur la page Create Shovel Task, configurez les informations relatives à l'instance source et à l'instance de destination de la tâche de routage des messages.
À l'étape Basic Information, spécifiez le nom et la description de la tâche, puis cliquez sur Next.
-
À l'étape Source and Destination, configurez les informations relatives à l'instance source et à l'instance de destination de la tâche de routage des messages, puis cliquez sur Next.
Paramètre
Description
Exemple
Source
Service Type
Type d'instance pour la source des messages. Défini automatiquement sur Message Queue for RabbitMQ.
Message Queue for RabbitMQ
Region
Région de l'instance source.
China (Shenzhen)
Instance
ID de l'instance source.
amqp-cn-i7m2a8bq****
vhost
Vhost sur l'instance source.
test-001
Queue
File d'attente sur l'instance source.
test-001-q
Destination
Service Type
Type d'instance pour la destination des messages. Défini automatiquement sur Message Queue for RabbitMQ.
Message Queue for RabbitMQ
Region
Région de l'instance de destination.
China (Shenzhen)
Instance
ID de l'instance de destination.
amqp-cn-7pp2a85q****
vhost
Vhost sur l'instance de destination.
test-routing
Destination Type
Type de ressource de destination. Valeurs possibles :
-
Queue : Transfère les messages vers les files d'attente de l'instance de destination.
-
Exchange : Transfère les messages vers les exchanges de l'instance de destination.
RemarqueSi Destination Type est défini sur Exchange, assurez-vous que l'exchange de destination est lié à une file d'attente. Sinon, les messages transférés seront perdus.
test-routing-ex
Routing Key
Clé de routage pour le transfert des messages. Disponible uniquement lorsque Destination Type est défini sur Exchange. Valeurs possibles :
-
Not Set : Utilise la clé de routage existante pour transférer les messages.
-
Set : Utilise une clé de routage personnalisée pour transférer les messages.
test
-
À l'étape Create and Start, confirmez les configurations de la tâche de routage des messages et cliquez sur Create and Start.
Après la création, la tâche apparaît sur la page Shovel Task avec l'état Running dans la colonne Status.
Références
Le routage global des messages est compatible avec le plug-in Shovel Plugin de RabbitMQ open source.