天天看點

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