集群间消息复制

最近更新时间:2025-12-05 16:11:02

我的收藏

操作场景

通过配置集群间消息复制任务,TDMQ RocketMQ 支持客户在两个集群之间同步消息(同个地域或不同地域间)。消息复制任务可以是单向复制(集群 A 的消息全部流入到集群 B)或者双向复制(集群 A 和集群 B 的消息互相同步,服务端自动屏蔽循环复制的情况)。任务创建完成后,控制台支持复制任务的任意启停,并且支持通过监控查看复制任务的进度和健康程度。
注意:
配置了一个集群级的消息复制任务之后,如集群 A 的消息数据都流入到集群B,那么集群 A 的全部元数据(Topic、Group 和角色等)都会同步到另外一个集群 B;同时集群 A 后续元数据的新增、修改、删除操作都会同步到集群B,反之亦然。如果配置的双向同步任务,那么在任意一个集群内完成的任意操作都会同步到另外一个集群。
跨集群复制的流量会计入到集群的 TPS 规格中,因此在创建消息复制任务前,需要规划好集群的 TPS 规格。超出集群规格后,复制的消息会出现限流,您可以关注相关监控指标,如果集群出现限流,请及时升配集群。
当前仅支持腾讯云 RocketMQ 4.x 通用集群,RocketMQ 5.x 集群即将支持。

计费规则

消息跨集群复制功能当前免费;在开始收费前,腾讯云会提前一个月多次通过站内信、短信和邮件等形式通知客户。

操作步骤

创建任务

进入消息队列 RocketMQ 版控制台,单击左侧导航栏 跨集群复制 > 新建任务, 按照要求填写以下字段:
任务类型:选择 Cluster 跨集群复制
任务名称:200字符以内,只能包含 中文、数字、字母、“-”和“_”;
复制方向:根据实际场景和需求选择 单向复制 或者 双向复制;
源集群:填写源集群的相关信息。
集群类型:如果选择腾讯云,则可以依次下拉选择地域和集群(当前仅支持 4.x 通用集群,5.x 集群即将支持);如果选择自建集群类型,则需要继续填写以下字段:
网络连接类型:仅自建集群涉及,腾讯云集群默认通过 VPC 网络打通后进行迁移。自建集群根据实际情况选择公网和VPC网络:
使用 VPC 网络
使用公网
如果选择VPC 网络进行消息复制,则需要先在腾讯云对应的地域创建 VPC 网络,后续将使用该 VPC 网络进行网络环境的打通。选择 VPC 网络后,请准确填写以下信息:
地域:选择在腾讯云上预先创建的 VPC 所在的地域。
私有网络:选择预先创建的 VPC 网络和子网,如果没有合适的VPC网络,可以前往私有网络控制台新建。
资源类型:TDMQ RocketMQ 支持来自腾讯云和其他云厂商的自建 RocketMQ 实例间进行消息复制,此时根据实际的 RocketMQ 实例的位置进行选择。如要和位于腾讯云上的自建集群进行消息互通,则选择 来自腾讯云,后续步骤只需要填写 集群ID、Name Server 地址和 ACL 配置即可,腾讯云 TDMQ RocketMQ 会自动打通腾讯云上的 VPC 网络。如果选择了 来自其他云厂商,除了集群ID、Name Server 地址和 ACL 配置外,还需要选择专线打通类型和对应的资源ID 来进行网络的打通。
集群 ID:填写准确的集群ID。
专线打通类型:仅集群资源来自其他云厂商时需要填写,如果要使用 VPC 网络和其他云厂商进行打通,则当前仅支持 云联网 和 专线网关两种类型。
专线网关ID/云联网ID:请填写当前已生效的专线网关ID/云联网ID,具体ID 可前往专线网关控制台云联网控制台查找。填写错误或者不生效的ID将导致网络打通失败。
Name Server 地址:可以填写固定的公网IP 或者公网可以联通的域名。如果有多个 IP 使用 “;” 进行分隔。
源集群是否开启ACL:如已开启ACL,需要填写准确的有 Admin 权限的 AK 和 SK 以保证消息复制的成功。
如果选择公网进行消息复制,则务必保证源集群和目标集群均已开启公网的接入点并且有足够的带宽可以支持复制的消息流量。
选择公网后,请准确填写以下信息:
Name Server 地址:可以填写固定的公网IP 或者公网可以联通的域名。如果有多个 IP 使用 “;” 进行分隔。
集群 ID:填写准确的集群ID。
源集群是否开启 ACL:如已开启 ACL,需要填写准确的有 Admin 权限的 AK 和 SK 以保证消息复制的成功。
目标集群:填写规则和“源集群”一致,集群间复制任务需要源集群和目标集群中至少有一个为腾讯云 TDMQ RocketMQ
复制起始位置:目前仅支持从最新的位点开始复制。

单击创建任务后,会跳转到任务列表页,在任务初始化后即创建完成。

管理任务

集群间复制任务创建完成后,您可以在任务列表页进行简单的任务状态查看和任务管理。
创建完成的任务默认为 “运行中” 的状态, 状态为 “运行中” 的任务,不可以进行编辑、删除和重置消费位点操作;如需进行以下操作,需要先暂停任务,然后再进行以下操作。
启动:重启处于“已停止”状态的任务,让消息继续在集群间进行同步
编辑:编辑任务信息,当前仅支持修改任务名称,为了保证任务的稳定运行和避免频繁变更,暂不支持变更其他任务配置
删除:删除当前任务,删除后复制任务将暂停,任务的相关配置也将被删除,请谨慎操作。删除任务后,在源集群进行的元数据(Topic、Group 和角色等)修改将不再复制到目标集群
重置消费位点:暂停任务后,您可以选择从新的时间位点重新开始复制消息


查看任务详情

您可以单击任务名称,进入任务详情页查看任务的详细配置。
在监控部分,您可以查看当前消息复制任务的实时监控,例如源消息消费总条数、消息复制失败条数、消息同步延迟等。
在元数据同步部分,您可以查看从源集群同步到目标集群的元数据信息。


异常处理

正常情况下,状态栏会展示 “运行中” 或者 “已暂停” 的状态;如果状态为 “启动失败”,您需要检查任务运行状态和任务详细配置是否正确,例如 SQL 表达式是否正确等;鼠标悬浮在失败状态上会有具体的失败原因。

如果任务状态失败,您可以单击操作栏的编辑,或者进入任务详情页,单击“基本信息”右上角的编辑,重新更正任务的信息。