目前自建kafka迁移到云上Ckafka集群有3种方案
方案一:单写双消费
该方案的整体简单清晰便于操作,且无数据积压,过渡平滑。
1. 完成 Topic 元数据的迁移。
2. 自建 Kafka 集群中原有的消费者保持不动。
3. CKafka 消费端新起消费者,配置新的 CKafka 集群的 bootstrap-server,消费新的 CKafka 集群。
4. 等待所有消费端都已经监听了新的 CKafka 集群。
5. 将自建集群的生产切到 CKafka 新集群上(配置新的 CKafka 集群的 bootstrap-server)。
6. 自建 Kafka 集群中原有的消费者继续消费自建 Kafka 集群中剩余的数据,直到消费干净后方可下线原消费者。
方案优劣:
1. 优点:整体迁移流程简单清晰便于操作,无数据积压,平滑过渡。
2. 缺点:需要额外多起一套消费者。
方案二:单写单消费
该方案的整体简单清晰便于操作。
方案思路:
1. 完成 Topic 元数据的迁移。
2. 将自建 Kafka 集群的生产切到 CKafka 新集群上 (配置新的 CKafka 集群的 bootstrap-server)。
3. 等待自建集群中的消费者消费完剩余数据。
4. 将老的消费者切到 CKafka 新集群消费(配置新的 CKafka 集群的 bootstrap-server)。
方案优劣:
优点:整体迁移流程简单清晰便于操作,过渡平滑。
缺点:在生产切到 CKafka 集群后,旧消费切到 CKafka 集群之前, CKafka 集群会存在一定量的堆积。
方案三:使用第三方组件Mirrormaker 迁移
该方案会把自建集群 Kafka 中的存量数据迁移到 CKafka。
方案思路:
1. 完成 Topic 元数据的迁移。
2. 自建 Kafka 集群中原有的消费者保持不动。
3. 启动 Mirrormaker 工具的数据同步功能。
4. 等待数据同步完成,修改消费者配置并切换消费者。
5. 等待数据同步完成,修改生产者配置并切换生产者。
6. 迁移完成。
方案优劣:
优点:整体迁移流程简单清晰便于操作、可以把历史数据同步到 CKafka 集群。
缺点:消费者切换到目的集群上需要从头开始消费,需要做好消费幂等。