在flink-cdc-connectors出来之前,实时同步mysql binlog的架构基本是Debezium/Canal + Kafka 做采集层 ,用flink做数据加工计算,实现流批一体,架构图:
![在这里插入图片描述](https://img8.php1.cn/3cdc5/18b49/a6e/fac6180a314915fd.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NoZW5zaGlqaWUyMDEx,size_16,color_FFFFFF,t_70#pic_center)
这个架构采集端组件过多导致维护繁杂,Debezium/Canal 和 flink 都需要维护,出现问题的概率大,查找原因繁琐。
flink-cdc-connectors组件的出现使流批一体数据仓库,通过FLINK从采集层到计算层整个ETL流程都可以由FLINK来完成。架构图:
![在这里插入图片描述](https://img8.php1.cn/3cdc5/18b49/a6e/11e0de561e67a7cc.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NoZW5zaGlqaWUyMDEx,size_16,color_FFFFFF,t_70#pic_center)
flink-cdc-connectors源代码:https://github.com/ververica/flink-cdc-connectors
Usage for Table/SQL API
We need several steps to setup a Flink cluster w