Kafka 到 Kafka 数据同步

简述

Kafka 为处理实时数据提供了一个统一、高吞吐、低延迟的平台,其持久化层本质上是一个"按照分布式事务日志架构的大规模发布/订阅消息队列",这使它作为企业级基础设施来处理流式数据非常有价值。因此实现 Kafka 到 Kafka 的数据同步也成了一项重要工作。

本篇文章主要介绍如何使用 CloudCanal 构建一条 Kafka 到 Kafka 的数据同步链路。

技术点

消费者消息推送

在任务创建后,CloudCanal 会自动创建消费组,并订阅需要同步消息的 Topic。CloudCanal 从源端拉取到消息后,会将消息推送到目标端。

心跳机制

Kafka 在记录消费者的位点时只会保存最新一条消息的时间,在源端 Kafka 未发送消息时,CloudCanal 便无法正常感知消息的延时时间。

我们采用了主动发送心跳消息的方式解决这个问题,在 打开 Kafka 源端心跳 后,源端会定时向目标端发送一条空消息,在目标端接收到消息后,CloudCanal 会更新延时时间,并过滤掉该条消息。根据业务需要,可设置 dbHeartbeatIntervalSec 参数,控制发送消息的间隔。

操作示例

步骤1: 配置 Kafka 权限

参考 Kafka 需要的权限 文档,设置 CloudCanal 需要的账号权限。

步骤2: 安装 CloudCanal

请参考 全新安装(Docker Linux/MacOS),下载安装 CloudCanal 私有部署版本

步骤 3: 添加数据源

登录 CloudCanal 控制台 ,点击 数据源管理 > 新增数据源

步骤4: 创建任务

  1. 点击 同步任务 > 创建任务

  2. 选择源和目标数据源,并分别点击 测试连接

  3. 选择同步的 消息格式。倘若没有特定的消息格式,请选择 原始消息格式

  4. 选择 增量同步

  5. 选择需要同步的 Topic。

  6. 点击 确认创建

    任务创建过程将会进行一系列操作,点击 同步设置 > 异步任务,找到任务的创建记录并点击 详情 即可查看。

    Kafka 源端的任务创建会有以下几个步骤:

    • 结构迁移
    • 分配任务执行机器
    • 创建任务状态机
    • 完成任务创建
  7. 等待任务自动流转。

    当任务创建完成,CloudCanal 会自动进行任务流转,其中的步骤包括:

    • 结构迁移: Kafka 源端会自动为对端创建 Topic,如果目标 Topic 在对端已存在,则会忽略。
    • 增量数据同步: 增量数据将会持续地同步到对端数据库,并且保持实时(秒级别延迟)。

总结

本文简单介绍了如何使用 CloudCanal 进行 Kakfa 到 Kafka 数据同步,助力企业快速构建数据管道,增强数据分析能力。

相关推荐
倔强的石头_1 天前
《Kingbase护城河》——数据库存储空间全景探测与精细化瘦身实战
数据库
冬奇Lab2 天前
每日一个开源项目(第134篇):Zvec - 阿里开源的嵌入式向量数据库,向量搜索界的 SQLite
数据库·人工智能·llm
hboot2 天前
AI工程师第二课 - 数据处理
人工智能·python·数据分析
ClouGence2 天前
Oracle CDC 架构优化:从主库直连到 DataGuard 备库同步
数据库·后端·oracle
无响应de神2 天前
三、用户与权限管理
数据库·mysql
麦聪聊数据3 天前
数据服务化时代:企业数据能力输出的核心路径
数据库
王小王-1233 天前
基于 Hive 的网易云音乐数据分析及可视化系统
hive·hadoop·数据分析·音乐数据分析·网易云音乐分析·hive音乐分析·hadoop网易云
ApacheSeaTunnel3 天前
实战演示 | 基于 Apache SeaTunnel 与 Apache DolphinScheduler 实现 MySQL 到 Doris 离线定时增量同步
大数据·mysql·开源·doris·数据集成·seatunnel·数据同步
shushangyun_3 天前
2026年快消品B2B系统推荐:支持终端门店订货、促销政策自动化的工具?
java·运维·网络·数据库·人工智能·spring·自动化
DARLING Zero two♡3 天前
【MySQL数据库】数据类型与表约束
数据库·mysql