sharding-jdbc
sharding-jdbc 是一个开源的适用于微服务的分布式数据访问基础类库,它始终以云原生的基础开发套件为目标。
sharding-jdbc定位为轻量级java框架,使用客户端直连数据库,以jar包的形式提供服务,未使用中间层,无需额外部署,并无其他依赖,,可以理解为增强版的JDBC驱动
sharding-jdbc完整的实现了分库分表/读写分离/分布式主键功能,并实现了柔性事务.
- 分库分表
- 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 组成的.
来源:oschina
链接:https://my.oschina.net/u/4358285/blog/3535711