当我们数据发生变动之后想要对其它的数据做一些修改可以采用此方案,以轻数仓的维度同步为例,流程大致如下:
1、打开MySQL 的binlog,使用canal监听MySQL的的binlog日志,当数据发生变动的时候canal会将变动的数据发送到我们配置的Kafka的topic中。
2、在我们的服务中去消费 byt-grid-data-sync 这个topic,拿到变动的数据,完成一些自定义的操作,根据变动的数据生成出我们需要的数据,然后去查询在服务中保存的配置,区分这个数据属于哪一条产线,根据查询到的产线和数据对gp数据库中保存的数据完成相应的变动。