Skip to main content

概述

迁移

AutoMQ 是基于云原生理念重新设计的新一代 Kafka 发行版,与 Apache Kafka 兼容。本文将详细介绍如何从 Apache Kafka 或者其他 Kafka 发行版迁移到 AutoMQ。

迁移工具

AutoMQ 开源版推荐使用 MirrorMaker2 工具实现集群间迁移,支持从 Apache Kafka 或者其他 Kafka 发行版迁移至 AutoMQ。

tip

AutoMQ 企业版提供了 Kafka Linking 工具,支持 Byte to Byte 消息同步(同步前后消息位点完全一致)和不停机迁移。如果您的业务场景需要更平滑的迁移方案,可以通过 此处表单 联系 AutoMQ 团队获取必要的协助和最佳实践。

MirrorMaker2 迁移工具具备如下能力:

  • 支持分批次迁移集群: MirrorMaker2 支持源集群到目标集群内分批次迁移 Topic 和 Group,实现灰度和验证。

  • 支持同步消费进度: MirrorMaker2 支持实时同步源集群消费进度,因此消费者可在迁移后从目标集群继续消费。

  • 支持同步 Topic、Group 的动态更新: MirrorMaker2 支持实时监测 Topic、Group 的动态更新,因此无需担心迁移过程中有遗漏。

MirrorMaker2 的技术架构如下:

核心概念

MirrorMaker2 定义了若干 Connector ,实现了 2 个 Apache Kafka 集群之间的数据同步任务,其中包含了同步所需的配置以及实时运行状态。

  • MirrorSourceConnector :用于同步源集群的消息数据。

  • MirrorCheckpointConnector :用于同步源集群 ConsumerGroup 的消费进度数据。

  • MirrorHeartbeatConnector :用于系统检测同步链路的运行状态。

部署 MirrorMaker2

关于 MirrorMaker2 的安装部署,参考 Apache Kafka 社区的相关链接:

约束和限制

MirrorMaker2 是使用 Connector 在源和目标集群之间同步消息,该机制无法保证源集群和目标集群数据完全一致。因此使用迁移工具需要注意如下约束和限制:

caution

消息少量重复

消费进度数据为异步、间歇性同步,切换消费者时可能会有位点回退导致重复消费。

消息同步为异步操作,因机器异常、故障恢复,可能会重复复制部分数据。

消费少量乱序

切换消费者时如果产生位点回退,则会重复消费少量消息,这部分消息会导致乱序。

后续步骤

了解集群迁移的背景之后,建议根据当前集群的情况选择对应方案处理: