写了一个flinkcdc的简单demo,大概说一下实现过程和建议点
架构图大致如下:
版本信息大致如下,具体版本信息根据自己的需求进行调整即可:
oracle:19c
flinkcdc:2.4.0
kafka:3.1.2
flink:1.15.4
mysql:8.0.27
springboot:2.5.6
实现需求:
1.使用flinkcdc采集oracle中的数据(历史数据+增量数据:含增删改)同步至kafka的某个topic中
2.使用flink消费kafka中的接收oracle同步数据的topic中的数据,并将数据sink到mysql数据库中
3.使用springboot程序读取mysql中的数据(根据需求写sql进行筛选)并在前台展示
架构中需要注意的几个点:
1.因为我的需求中需要同步到oracle的历史数据,所以在确定OracleSource的配置项中需要重点注意
2.oracle中的数据写入到kafka中,想要更好的在后续kafka的查数过程中数据更加具有可读性,我建议在配置OracleSource中使用自定义的反序列化器(其实我也是这么处理的)处理数据为自己想要的格式
3.自定义话数据格式后,后面插入mysql的JdbcSink中需要对获取的数据格式进行相应的处理
未完待续~~~~~~~~~~~~