基于阿裡雲的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