- 文档首页
消息队列 Kafka版
最佳实践
Kafka 业务迁移
Kafka 迁移上云(方案二)
Kafka 业务迁移
Kafka 迁移上云(方案二)
Kafka 迁移上云(方案二)
本文介绍通过方案二将开源 Kafka 集群迁移到火山引擎消息队列 Kafka版的操作步骤。
注意事项
- 业务迁移只迁移消息生产、消费链路和业务流量,并不会迁移 Kafka 旧集群上的消息数据。
- 创建 Kafka 实例、迁移消息收发链路之前,请先确定 Kafka 实例可正常访问,以免因访问异常造成迁移失败。您可以访问 Kafka 实例详情页中的接入点,确认实例的网络连通性。
- 业务迁移之前,请确认您已根据业务需求选择了正确的迁移方案。迁移方案对比请参考迁移概述。
1 环境准备
迁移之前,您需要根据业务量合理评估资源需求,并创建 Kafka 实例及相关的依赖资源。
1.1 迁移评估
根据现有业务量和消息量估算所需的消息队列 Kafka版资源,例如业务读写流量峰值、磁盘容量和分区数等。不同规格的 Kafka 实例代表不同的计算能力及存储空间,请根据业务量合理评估资源需求。
1.2 准备相关资源
确认资源需求之后,还需要准备相关资源,例如私有网络和子网、ECS云服务器和 Kafka 实例。
- 您需要创建私有网络和子网、购买 ECS 云服务器。迁移后您的服务需要和 Kafka 实例处于相同的区域(Region)和 VPC 内,才能正常访问实例。详细说明请参考准备环境 。
- 请根据业务量评估结果合理选择 Kafka 实例的计算规格和存储规格,保证资源充足。详细操作步骤请参考创建实例 。
2 迁移元数据
迁移元数据的步骤主要是在新的 Kafka 实例中创建与原 Kafka 集群相同的 Topic 和 Group 配置,包括 Topic 名称、分区数、副本数、消息保留时长等参数配置等。关于 Group 配置迁移,您可以根据需求选择在控制台创建 Group 或在使用 SDK 的过程中按需创建 Group。
- 在原 Kafka 集群中收集 Topic 和 Group 的基本信息。
- 在火山引擎消息队列 Kafka版控制台中创建同样数量和配置的 Topic。
说明
Topic 名称和分区数等核心配置需要和原 Kafka 集群的 Topic 配置相同,消息保留时长等参数可以根据业务需求自行配置。
- 消息队列 Kafka版通过自动创建 Group 功能控制 Kafka 实例支持的 Group 创建方式,该功能默认为开启状态。您可以根据需求选择是否开启自动创建 Group 功能,并且创建和迁移源端同样数量和 ID 的 Group。
- 开启时,不仅可通过控制台创建 Group,还可以通过消费 SDK 解析获取并展示 Group 的信息。使用 SDK 时按需创建 Group 的方式请参考通过 SDK 设置 Group。
3 迁移消息服务
方案二先迁移新的生产端,但不消费,待旧的消息在旧消费端消费完成后再启动新的消费端开始消费。适用于消息消费时序敏感型或对有序消息有依赖的业务场景。
迁移步骤如下:
- 在旧集群停止生产端之后,在新集群中启动新的生产端业务。此时新集群中无消费端,所以产生的新消息暂时不会被消费。
- 在旧消息全部被旧消费者消费完毕后,下线旧消费者以及旧 Kafka 集群。
- 停止旧集群的生产业务之后,旧消费者仍在持续消费存量的旧消息。您可以参考查看迁移进度和结果,观察消费组的处理进度,待消费组处理完成后,继续进行后续操作。
- 为消息队列 Kafka版实例启动新的消费端,开始消费消息。
- 成功启动新集群的生产业务后,说明您已通过火山引擎消息队列 Kafka版在云端搭建了消息生产和消费链路,您可以根据业务自身的运行逻辑判断当前服务的健康度,确认火山引擎 Kafka 实例是否正常运行,也可以参考查看迁移进度和结果,根据云监控数据判断实例的生产和消费是否正常。
最近更新时间:2025.06.27 14:15:23