# light-frame-sharding **Repository Path**: cdlvyh/light-frame-sharding ## Basic Information - **Project Name**: light-frame-sharding - **Description**: 分库分表框架 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-10-20 - **Last Updated**: 2022-01-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## light-frame-sharding ![license](https://img.shields.io/badge/license-Apache--2.0-green.svg) light-frame-sharding 是一款轻量级的分库分表框架,旨在提供一个通用数据访问层服务,支持MySQL动态数据源、读写分离、分布式主键生成器、分库分表、动态化配置等特性。 ![架构设计](https://gitee.com/cdlvyh/light-frame-sharding/raw/master/doc/image/architecture_design.png) ## 一、功能简介 light-frame-sharding 是一款简洁明了的分库分表框架,主要提供以下能力: - 动态数据源:通过扩展Spring AbstractRoutingDataSource + AOP支持动态切换数据源 - 读写分离:作为动态数据源特例之一,仅需增加注解标识即可 - 分布式主键:集成分布式ID生成系统Leaf,支持号段和雪花算法2种主键生成方式 - 分库分表:采用注解 + AOP + Mybatis Interceptor + Druid 实现,支持Hash取模、Range范围、自适应3种分库分表算法 - 自适应分库分表:支持优雅实现分库分表,避免后期数据迁移和热点问题 - 多场景覆盖:支持多库单表、单库多表、主从读写分离、多库多表等多种拆分模式 - 动态化配置:通过集成Nacos分布式配置框架,支持动态化配置数据源等 - 服务插件化:提供Spring boot starter插件机制,方便应用快速接入 ## 二、快速开始 请查看项目文档中[快速开始](https://gitee.com/cdlvyh/light-frame-sharding/blob/master/quickstart.md)来了解如何快速上手使用 light-frame-sharding 。 ## 三、如何贡献 light-frame-sharding 欢迎广大开发者创建Pull Request来贡献代码,代码通过审核后会被合并到master主分支。 light-frame-sharding 编译环境要求为JDK8或以上版本,需要采用 [Apache Maven 3.5.0](https://archive.apache.org/dist/maven/maven-3/3.5.0/binaries/) 或者更高的版本进行编译。 ## 四、感谢 light-frame-sharding 部分借鉴参考了 Sharding-Jdbc、Sharding 和 MTDDL 等分库分表框架设计思路,在此表示感谢! ## 五、示例 light-frame-sharding 的示例工程,详见 light-frame-sharding-sample 。 ## 六、开源许可 light-frame-sharding 基于Apache License 2.0协议,light-frame-sharding 依赖了一些第三方组件,其开源协议参见[依赖组件版权说明](https://gitee.com/cdlvyh/light-frame-sharding/blob/master/NOTICE.md)。