You need to enable JavaScript to run this app.
导航

迁移概述

最近更新时间2022.10.18 16:24:27

首次发布时间2022.06.28 10:45:26

本文介绍 Kafka 业务迁移的方案与基本流程。业务上云过程中,您可以参考本文档,将自建 Kafka 集群或其他云厂商 Kafka 集群平滑迁移至火山引擎消息队列 Kafka版。

背景信息

消息队列 Kafka版是一款基于 Apache Kafka 构建的分布式消息中间件服务,具备高吞吐、高可扩展性等特性,提供流式数据的发布/订阅和多副本存储机制,广泛应用于日志压缩收集、流式数据处理、消息解耦、流量削峰去谷等应用场景。

在 Kafka 业务迁移过程中,只会迁移消息生产和消费的链路和业务流量。已经持久化的消息不会迁移到新的 Kafka 集群,您需要自行处理。

迁移方案

消息队列 Kafka版提供以下两种迁移方案供您选择,请根据自身业务特点,谨慎选择迁移方案。

方案说明适用场景

方案一

先在云端建立新的消息生产与消费流程,再停止原集群的生产业务,并在旧集群消费完旧消息之后停止消费端。
在该方案中,云上云下双集群同步处理业务,原有业务逐步迁移。

该方案优势在于可以保证业务的连续性,任何时候新生产的数据都能被及时进行消费处理。适用于对于消息处理顺序无特殊要求的业务场景。

方案二

迁移新的生产端,但不消费,待旧的消息在旧消费端消费完成后再启动新的消费端开始消费。
在该方案中,同时只有一个集群在处理业务。

迁移过程中,需要等待原始集群的数据处理完成。该方案可保障消息消费的有序性,保证更早写入的数据能优先被处理,适用于消息处理有先后顺序要求的业务。

迁移流程

  1. 环境准备。
    迁移之前,您需要根据业务量合理评估资源需求,创建 Kafka 实例及相关的依赖资源。
  2. 迁移元数据。
    在执行业务迁移之前,需要先对承载业务的元数据进行迁移。Kafka 中的元数据主要是指业务中使用的 Topic、分区和副本等信息。
  3. 迁移消息服务。
    • 方案一:先启动新的消费端和生产端,让新集群的生产和消费正常运行。再下线旧的生产端,待旧集群的消息被旧 Consumer 消费完成后,再关闭旧消费端,完成迁移上云。
      详细操作步骤请参考方案一

    • 方案二:迁移全量的消息生产端到新集群,待旧集群的消息被旧 Consumer 消费完成后,再迁移消费端,完成迁移上云。
      详细操作步骤请参考方案二