sharding-jdbc

sharding-jdbc

sharding-jdbc 是一個開源的適用於微服務的分佈式數據訪問基礎類庫,它始終以雲原生的基礎開發套件爲目標。java

sharding-jdbc定位爲輕量級java框架,使用客戶端直連數據庫,以jar包的形式提供服務,未使用中間層,無需額外部署,並沒有其餘依賴,,能夠理解爲加強版的JDBC驅動spring

sharding-jdbc完整的實現了分庫分表/讀寫分離/分佈式主鍵功能,並實現了柔性事務.sql

  1. 分庫分表
    1. sql解析功能完善,支持聚合,分組,排序,limit等查詢,而且支持級聯表和笛卡爾積的表查詢
    2. 支持內/外鏈接查詢
    3. 分片策略靈活,可支持=,between,in等多維度分片,以及自定義分片策略
    4. 基於hint的強制分庫分表路由
  2. 讀寫分離
    1. 一主多從的讀寫分離配置,可配合分庫分表使用
    2. 基於hint的強制分庫分表路由
  3. 柔性事務
    1. 最大努力送大型事務
    2. TCC型事務(TBD)
  4. 分佈式主鍵
    1. 統一的分佈式基於時間序列id生成器
  5. 兼容性
    1. 可適用於java的ORM框架
    2. 可基於第三方數據庫鏈接池
  6. 靈活多樣配置
    1. java
    2. springBoot
  7. 分佈式治理能力

sharding-jdbc都有哪些包?

  1. sharding-jdbc-config-parent    配置相關源碼
  2. sharding-jdbc-core      核心源碼
  3. sharding-jdbc-doc       文檔
  4. sharding-jdbc-example:針對各個模塊的測試用例代碼;
  5. sharding-jdbc-plugin:目前只有KeyGenerator的三種實現;
  6. 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 組成的.架構

相關文章
相關標籤/搜索