本文介绍如何应用事件总线EventBridge的事件流功能实现分布式消息服务RabbitMQ的消息路由。
前提条件
开通分布式消息服务RabbitMQ并开通实例。
背景信息
事件流作为更轻量、实时端到端的流式事件通道,提供轻量级的流式数据的过滤和转换的能力,在不同的数据仓库之间、数据处理程序之间、数据分析和处理系统之间进行数据同步。源端分布式消息服务RabbitMQ生产的消息可以通过事件流这个通道被路由到目标端的分布式消息服务RabbitMQ。
步骤一:创建事件流
登录事件总线EventBridge控制台。
在左侧导航栏,单击事件流。
在事件流页面,单击创建事件流。
在创建事件流面板,设置任务名称和描述,配置以下参数,然后单击保存。
a.在Source(源)配置向导,选择数据提供方为分布式消息服务RabbitMQ,设置以下参数,然后单击下一步。
参数 | 说明 | 示例 |
---|---|---|
RabbitMQ实例 | 选择分布式消息服务RabbitMQ实例。 | instance-xxx |
RabbitMQ vhost | 选择分布式消息服务RabbitMQ vhost。 | / |
RabbitMQ queue | 选择分布式消息服务RabbitMQ queue。 | queue-xxx |
b.在Filtering(过滤)配置向导,设置事件过滤规则,单击下一步。
c.在Sink(目标)配置向导,选择服务类型为分布式消息服务RabbitMQ,配置以下参数,单击保存,如图1所示。
图1 创建事件流时源的类型选择分布式消息服务RabbitMQ
参数 | 说明 | 示例 |
---|---|---|
实例 | 选择分布式消息RabbitMQ实例。 | instance-xxx |
Vhost | 选择RabbitMQ实例的Vhost。 | POST |
目标类型 | 选择发送到RabbitMQ的目标类型。
| 队列 queue-xxx |
消息体 | 选择作为消息体的事件内容,更多参考“事件内容转换”。 | 完整事件 |
MessageId | 选择MessageId的内容,更多参考“事件内容转换”。 | 空 |
自定义属性 | 选择自定义属性(Properties)的内容,更多参考“事件内容转换”。 | 空 |
创建事件流后,会有30秒~60秒的延迟时间,您可以在事件流页面的状态栏查看启动进度。
步骤二:测试验证
登录分布式消息服务RabbitMQ控制台。
在左侧导航栏,单击实例列表,选择事件流的源实例。
在队列管理页面,选择源对应队列,点击生产拨测。
在对话框输入想要发送的消息,然后点击发送。
发送消息后返回实例列表,选择事件流的目标实例,进入管理。
在队列管理页面,选择目标对应队列,点击消费拨测,查询目标队列对应的消息。
查看查询到消息体与消息属性是否与预期一致,如图2所示。
图2 在分布式消息服务RabbitMQ管理控制台中查看消息详情