背景
业务中经常出现一些千万乃至亿级别的大表,此时可能考虑分库分表(Sharding-JDBC、MyCat等方案),也常同步数据进入ES中;同步数据这一业务场景中,Flink CDC是一个很不错的解决方案。
方案
如mysql、postgresql、sqlserver等,flink cdc通过读取binlog日志(注意:请先开启binlog日志),进行数据同步,实时性较好。
对数据的解析和消费进行了二次封装,使用者只需增加简单的配置,实现FlinkConsumerListener接口,关注编写业务代码即可。
代码
show coding
测试demo
创建一个springboot项目
依赖引入(引入上述工程打包后的依赖)
<dependency>
<groupId>com.kwin</groupId>
<artifactId>flink</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
配置文件
flink:
pipeline-name: flinkCDCTest