迁移场景
AutoMQ 兼容 Apache Kafka,因此 Kafka Linking 支持无缝迁移其他厂商提供的 Kafka 发行版,相关信息列举如下:Apache Kafka | AutoMQ | 支持 Kafka Linking 兼容 Apache Kafka 版本>= 0.11。 |
AWS MSK | 支持 Kafka Linking 暂不支持 MSK IAM Role 鉴权模式,仅支持原生的 ACL 鉴权模式。 | |
Confluent Platform | 支持 | |
阿里云消息队列 Kafka 版 | 支持 | |
腾讯云 CKafka 版 | 支持 |
如果当前使用的 Kafka 发行版不在上述列表中,请立即联系我们以获取支持和帮助。
Kafka Linking 概述
AutoMQ Cloud 为用户提供了开箱即用的 Kafka 迁移工具 Kafka Linking,支持从 Apache Kafka 或者其他 Kafka 发行版迁移至 AutoMQ。 Kafka Linking 迁移工具,具备如下优势:- 不停机迁移 :区别于 MirrorMaker2 需要客户端停机切换,Kafka Linking 内置流量代理组件,确保 Producer 切换接入点过程无需停机。
- Byte to Byte 复制: 区别于 MirrorMaker2 复制后的消息位点发生变化,Kafka Linking 支持 Byte to Byte 复制 ,源集群的所有分区的数据复制到新集群可以保证 Offset 信息不变,可以确保 Flink Job 等自持位点的计算引擎可以无缝切换。
- 同步消费进度保持: Kafka Linking 支持同步源集群消费进度,因此消费者可在迁移后从目标集群继续消费,位点信息完全一致。
- 按需弹性伸缩: Kafka Linking 无需单独部署,随 AutoMQ 集群按需扩展,减少了迁移期间的运维复杂度。
- Kafka 兼容性高: Kafka Linking 支持历史大部分版本的 Apache Kafka (版本>=0.11)以及其他商业发行版,现有方案可以无缝切换到 AutoMQ。
Kafka Linking 术语概念
Kafka Linking 定义了一系列术语,列举如下:Kafka Link
Kafka Link 是从一个外部 Apache Kafka 集群到一个 AutoMQ Kafka 实例的一组 Topic 的数据同步和代理任务,包含数据同步所需的配置和实时运行状态以及流量代理的控制。Source Cluster
Source Cluster 是 Kafka Linking 中定义迁移源集群的抽象配置,Source Cluster 是由 AutoMQ 控制台提供的 Kafka 集成进行描述,包含源集群的接入点、ACL 规则、别名等配置信息。Sink Cluster
Sink Cluster 是 Kafka Linking 中定义迁移目标集群的抽象配置, Sink Cluster 特指 AutoMQ 实例(当前 Kafka Linking 仅支持将 AutoMQ 实例作为 Sink Cluster),包含目标集群的接入点、ACL 规则、别名等配置信息。Mirror Topic
Mirror Topic 是 Kafka Linking 用于将源集群的 Topic 同步和迁移到目标集群的基本单元。每个 Mirror Topic 对应源集群中的一个特定 Topic,并在目标集群中作为该 Topic 的唯一表示。Source Topic
Source Topic 是 Kafka Linking 对源集群的Topic 的表达。在每个 Kafka Link 中 Source Topic 和 Mirror Topic 一一对应。Consumer Group
Kafka Linking 支持从源集群 Consumer Group 复制消费进度信息,并同步到目标集群。用户可指定 Source Cluster 的 Consumer Group 并配置到 Sink Cluster 的某一 Consumer Group。Kafka Linking 架构
区别于 MirrorMaker2 基于 Connector 实现数据同步,Kafka Linking 迁移工具重新构建了两条链路,分别是 Byte to Byte 的数据复制链路以及 Producer 代理链路:- Byte to Byte 复制链路: 用于将 Source Cluster 的数据同步到 Sink Cluster,确保数据不丢、位点完全一致。
- Producer 代理链路 :传统的 MirrorMaker2 切换 Producer 时,为了防止两端的集群同时写入造成数据错乱,要求 Producer 必须全部停机后才能切换到目标集群。AutoMQ Kafka Linking 提供了 Producer 代理链路,支持切流期间流量代理回源集群,并支持后续统一切流,实现了不停机切换。
Byte to Byte 复制链路

- Topic 分区数完全一致。
- 消息全量同步,位点和源集群完全一致。
- 消费位点同步,源集群特定 Consumer Group 针对特定分区的消费位点完全同步到目标集群,保持一致。
Producer 代理链路

- 支持 Producer 滚动切换接入点迁移,切换期间无需停机,写入不受损。
- 支持迁移期间源集群正常读写,不受影响,应用可按需切换。