本文介绍什么是全球消息路由以及如何管理全球消息路由任务,以便您按需同步消息,实现不同实例、不同Vhost间的消息路由。
背景信息
全球消息路由的功能和使用方式和开源Shovel插件保持一致,支持不同实例和Vhost间的Queue到Queue、Queue到Exchange的消息转发。在此基础上,除了可以本地域间消息转发,也可以支持跨地域消息转发。
前提条件
- 消息队列RabbitMQ版
源实例、源Vhost、源Exchange、源Queue以及目标实例、目标Vhost、目标Exchange、目标Queue已创建并可用。具体操作,请参见:
- 事件总线EventBridge
创建全球消息路由任务
- 登录消息队列RabbitMQ版控制台,然后在左侧导航栏,单击全球消息路由。
- 在全球消息路由页面的左上方,单击创建任务。
- 在阿里云服务授权 - 从消息队列RabbitMQ版读取消息对话框,认真阅读提示信息,单击确认。
首次创建全球消息路由任务,将自动创建服务的关联角色AliyunServiceRoleForEventBridgeSourceRabbitMQ与AliyunServiceRoleForEventBridgeSendToRabbitMQ。具体信息,请参见
服务关联角色。
说明
- AliyunServiceRoleForEventBridgeSourceRabbitMQ:事件总线EventBridge使用该角色接收源端实例发送的消息。
- AliyunServiceRoleForEventBridgeSendToRabbitMQ:事件总线EventBridge使用该角色转发消息给目标端实例。
- 在创建消息路由任务配置向导页面,配置消息路由的源端和目标端信息。
- 在基本信息页面,在名称文本框给任务命名,在描述文本框对任务进行简要描述。
- 在源和目标页面,配置消息路由的源端和目标端信息。
参数 |
解释 |
示例 |
同步源信息 |
产品类型 |
消息路由源端的产品类型,固定为消息队列RabbitMQ版。
|
消息队列RabbitMQ版 |
地域 |
源端产品的实例所在的地域。 |
华南1(深圳) |
实例 |
源端产品的实例ID。 |
amqp-cn-i7m2a8bq**** |
Vhost |
源端产品的实例所部署的Vhost。 |
test-001 |
Queue |
源端产品实例的Queue。 |
test-001-q |
同步目标信息 |
产品类型 |
消息路由目标端的产品类型,固定为消息队列RabbitMQ版。
|
消息队列RabbitMQ版 |
地域 |
目标端产品的实例所在的地域。 |
华南1(深圳) |
实例 |
目标端产品的实例ID。 |
amqp-cn-7pp2a85q**** |
Vhost |
目标端产品的实例所部署的Vhost。 |
test-routing |
目标类型 |
消息路由的目标类型。取值如下:
- Queue:消息路由至目标实例的Queue中。
- Exchange:消息路由至目标实例的Exchange。
说明 目标类型为Exchange时,请确保目标Exchange有对应绑定的Queue,否则将导致路由转发到此Exchange的消息没有存储的Queue而丢失。
|
test-routing-ex |
RoutingKey |
消息路由的Routing Key。当目标类型为Exchange时,该参数生效,取值如下:
- 不设置:使用消息原有的Routing key发送到目标Exchange。
- 设置:使用当前设置的Routing key发送到目标Exchange。
|
test |
- 在创建启动页面,确认消息路由的配置信息,单击创建并启动。
在全球消息路由页面,可以看到已创建的任务。其状态为服务中。
相关操作
您可以查看消息路由任务详情、停用、编辑和删除任务,对任务进行管理。
- 在全球消息路由页面,在搜索框根据任务名称搜索任务。
- 找到目标任务,在操作列,您可以根据实际需求对任务进行操作。
- 单击详情,您可以查看路由任务配置的详情信息。
- 单击停用,您可以停用路由任务。
- 单击编辑,您可以更改路由任务的配置信息。
- 单击删除,您可以清理路由任务。