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