更新时间:2024-11-29 GMT+08:00

CDL基本原理

CDL简介

CDL(全称Change Data Loader)是一个基于Kafka Connect框架的实时数据集成服务。 CDL服务能够从各种OLTP数据库中捕获数据库的Data Change事件,并推送到kafka,再由sink connector推送到大数据生态系统中。

CDL目前支持的数据源有MySQL、PostgreSQL、Oracle、Hudi、Kafka、ThirdParty-Kafka,目标端支持写入Kafka、Hudi、DWS以及ClickHouse。

CDL结构

CDL服务包含了两个重要的角色:CDLConnector 和 CDLService,CDLConnector是具体执行数据抓取任务的实例,包含了Source Connector 和 Sink Connector,CDLService是负责管理和创建任务的实例。

CDL服务中的CDLService是多主模式,任意一个CDLService都可以进行业务操作;CDLConnector是分布式模式,提供了高可靠和Rebalance的能力,创建任务时指定的task数量会在整个集群中的CDLConnector实例之间做均衡,保证每个实例上运行的task数量大致相同,如果某个CDLConnector实例异常或者节点宕机,该任务会在其它节点重新平衡task的数量。

图1 Task的Rebalance示意图