sharding-jdbc

二次信任 提交于 2021-02-08 15:54:34

sharding-jdbc

sharding-jdbc 是一个开源的适用于微服务的分布式数据访问基础类库,它始终以云原生的基础开发套件为目标。

sharding-jdbc定位为轻量级java框架,使用客户端直连数据库,以jar包的形式提供服务,未使用中间层,无需额外部署,并无其他依赖,,可以理解为增强版的JDBC驱动

sharding-jdbc完整的实现了分库分表/读写分离/分布式主键功能,并实现了柔性事务.

  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 组成的.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!