sharding-jdbc
sharding-jdbc 是一個開源的適用於微服務的分佈式數據訪問基礎類庫,它始終以雲原生的基礎開發套件爲目標。java
sharding-jdbc定位爲輕量級java框架,使用客戶端直連數據庫,以jar包的形式提供服務,未使用中間層,無需額外部署,並沒有其餘依賴,,能夠理解爲加強版的JDBC驅動spring
sharding-jdbc完整的實現了分庫分表/讀寫分離/分佈式主鍵功能,並實現了柔性事務.sql
- 分庫分表
- sql解析功能完善,支持聚合,分組,排序,limit等查詢,而且支持級聯表和笛卡爾積的表查詢
- 支持內/外鏈接查詢
- 分片策略靈活,可支持=,between,in等多維度分片,以及自定義分片策略
- 基於hint的強制分庫分表路由
- 讀寫分離
- 一主多從的讀寫分離配置,可配合分庫分表使用
- 基於hint的強制分庫分表路由
- 柔性事務
- 最大努力送大型事務
- TCC型事務(TBD)
- 分佈式主鍵
- 統一的分佈式基於時間序列id生成器
- 兼容性
- 可適用於java的ORM框架
- 可基於第三方數據庫鏈接池
- 靈活多樣配置
- java
- springBoot
- 分佈式治理能力
sharding-jdbc都有哪些包?
- sharding-jdbc-config-parent 配置相關源碼
- sharding-jdbc-core 核心源碼
- sharding-jdbc-doc 文檔
- sharding-jdbc-example:針對各個模塊的測試用例代碼;
- sharding-jdbc-plugin:目前只有KeyGenerator的三種實現;
- sharding-jdbc-transaction-parent:事務相關源碼;
若是想看源碼須要學習:lombok/google-guava/elastic-job/inline表達式數據庫
sharding-jdbc架構圖(2.x架構圖)
sharding-jdbc(3.x) Sharding-Sphere正式發佈: 它是由sharding-jdbc/sharding-proxy/sharding- Sidecar 組成的.架構