天天看点

基于阿里云DTS数据订阅binlog应用Springboot实践功能二次开发

基于阿里云的DTS springboot封装

在作者凯雄的基础上二次开发,原帖地址:https://blog.csdn.net/lkx444368875/article/details/109119159

二次开发改动点

  1. 由于阿里云支持细粒度订阅所以关闭订阅过滤的功能
  2. 订阅到kafka的消息的后续处理不需要集成spring-kafka,删除了用kafka发送消息给其他地方的代码
  3. 修正一些不重要的警告信息
  4. 删除了DDL订阅的代码实现
  5. 优化对mysql json数据类型的自动转换支持
  6. 根据实际尝试阿里云的延迟,优化第一次订阅的消费位点为当前时间戳再减去60秒,之后的消费位点保持作者凯雄逻辑不变从kafka拿last的位点
  7. DMLData类根据实际业务增加一个有效信息的属性,即增是全部字段,改是改动字段加主键,删是不处理
  8. 优化冗长的配置文件信息,仅保留dts订阅的有效配置,更容易上手
  9. 删除debug包的目前已经无用的调试器
  10. avro包建议自己学习一下生成,除非你手动去改new org.apache.avro.Schema.Parser().parse这个里面的namespace为你的全路径
  11. 无论是作者凯雄还是我都是在官方demo的基础上进行springboot的封装,所以把官方demo嵌入到自己工程的过程本身是需要开发者自己理解avro包的作用
  12. 此工程如果启动或者订阅失败尝试一下排除法用官方demo跑一下看看效果对比一下

项目地址

https://github.com/Scenx/dts-server

https://gitee.com/Scenx/dts-server