本文为您介绍全球消息备份的操作指导和页面相关属性介绍以及常见问题,以帮助您快速了解使用相关功能。
前提条件
已创建云消息队列 RocketMQ 版实例。
版本要求:
云消息队列 RocketMQ 版4.0系列铂金版。
云消息队列 RocketMQ 版5.0系列铂金版。
角色名称:AliyunServiceRoleForRMQDisasterRecovery
权限策略:AliyunServiceRolePolicyForRMQDisasterRecovery
权限说明:允许云消息队列 RocketMQ 版使用该角色获取访问事件总线EventBridge的权限。
创建全球消息备份任务
- 登录云消息队列 RocketMQ 版控制台。
在左侧导航栏,单击全球消息备份,然后单击创建任务。
在创建任务页面,填写以下信息,主要配置如下,其余可按需配置,然后单击创建。
表1.属性说明
配置项 | 说明 | 配置示例 |
任务类型 |
| 单向备份:源集群向目标集群同步数据 |
接入点 | Apache RocketMQ集群的接入节点,格式可参考 xx.xx.xx.xx:xxxx。 | 不涉及 |
过滤条件系统配置 |
| |
网络配置 |
| 公网 |
VPC 网络 | Apache RocketMQ所在ECS服务中的实际VPC。 | vpc-bp17fapfdj0dwzjkd**** |
交换机 | Apache RocketMQ所在ECS服务中的实际交换机。 | vsw-bp1gbjhj53hdjdkg**** |
安全组 ID | Apache RocketMQ所在ECS服务中的实际安全组。 | sg-2ze4jlbqy2s40pc4**** |
用户名 |
| yS8x01L3yhIn1**** |
安全组 |
| 不涉及 |
消费端说明
例如,我们配置源集群为上海云消息队列 RocketMQ 版实例与目标集群杭州云消息队列 RocketMQ 版实例双备的任务。过滤条件的Key设置为Region,源集群Value设置为Shanghai,目标集群Value设置为Hangzhou。
上海消费端正常情况下仅消费上海地域的数据,不消费杭州数据,所以采用单个自定义属性匹配即可。具体请参见消息过滤。
订阅消息,根据单个自定义属性匹配消息。
String topic = "topic";
//只订阅本地域的消息。
FilterExpression filterExpression = new FilterExpression("Region IS NOT NULL", FilterExpressionType.SQL92);
//因为本地生产应用在发送消息时并没有在消息中设置UserProperty的Key为Region的值,所以Key为Region的自定义属性为NULL
simpleConsumer.subscribe(topic, filterExpression);
订阅消息,匹配Topic中的所有消息,不进行过滤。
String topic = "topic";
//订阅所有消息。
FilterExpression filterExpression = new FilterExpression("True", FilterExpressionType.SQL92);
simpleConsumer.subscribe(topic, filterExpression);