當前位置:
首頁 > 最新 > 【死磕Sharding-jdbc】-準備工作

【死磕Sharding-jdbc】-準備工作

接下來對sharding-jdbc源碼的分析基於tag為源碼,根據sharding-jdbc Features深入學習sharding-jdbc的幾個主要特性是如何實現的;

概況

sharding-jdbc源碼主要有以下幾個模塊:sharding-jdbc-config-parentsharding-jdbc-coresharding-jdbc-docsharding-jdbc-examplesharding-jdbc-pluginsharding-jdbc-transaction-parent;由模塊命名很容易知道模塊的作用:

sharding-jdbc-config-parent:配置相關源碼;

sharding-jdbc-core:核心源碼;

sharding-jdbc-doc:文檔,都是markdown格式,對應github上的sharding-jdbc-doc;

sharding-jdbc-example:針對各個模塊的測試用例代碼;

sharding-jdbc-plugin:目前只有KeyGenerator的三種實現;

sharding-jdbc-transaction-parent:事務相關源碼;


lombok(能夠簡化java的代碼,不需要顯示編寫setter,getter,constructor等代碼,其原理是作用於javac階段。通過反編譯class文件能夠看到還是有通過lombok省略的setter,getter,constructor等代碼)

google-guava(google開源的google使用的Java核心類)

elastic-job(sharding-jdbc-transaction-async-job模塊依賴elastic-job實現分散式定時任務)

inline表達式(sharding-jdbc分庫分表規則表達式採用inline語法,可以參考InlineParserTest.java這個測試類中一些inline表達式)

在閱讀sharding-jdbc源碼之前,建議對這些技術有一定的了解;


說明:圖片來源於sharding-jdbc官網


請單擊sharding-jdbc-doc,閱讀sharding-jdbc源碼之前,建議看一下sharding-jdbc官方文檔,對其原理和一些概念,以及初級使用有一個大概的了解;

接下來的源碼分析文章大概分析(但不局限於)sharding-jdbc的這些核心功能;

分片規則配置說明

SQL解析

SQL路由

SQL改寫

SQL執行

結果歸併


學習開源組件的最好的辦法就是了解它的原理後,下載它的源碼,然後Run起來;sharding-jdbc的測試用例寫的非常詳細, 模塊中的 就是一個很好的debug入口,想要正常運行這個測試用例,只需簡單的如下幾個步驟即可:

在本地安裝一個mysql資料庫;

創建兩個資料庫:dsjdbc0和dsjdbc1;

just run it;

說明:sharding-jdbc源碼默認使用的訪問資料庫的用戶為root,密碼為空字元串;

END


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 Java技術驛站 的精彩文章:

TAG:Java技術驛站 |