Spring Boot 2.0 分库分表框架Sharding-Sphere 3.x 入门

    一年多之前我做一个项目的时候,需要分库分表,然后我就在网上搜索这方面的开源软件,遇见了Sharding-JDBC,当时是1.x版本,我发现用它来做分库分表比较容易上手。最近发现它已经是到3.x版本了,而且名字也改了,改为Sharding-Sphere。最近我使用了最新的版本做了一个例子。我使用的不是自己生产环境的例子,而是官网的例子,只是是在Spring Boot 2.0上做的,配置和官网给出的例子稍有不同。
    用户首先到官网http://shardingsphere.io/index_zh.html了解一下这个框架。
    一,我事先安装好了MariaDB,首先使用Spring Initializr生成项目,再添加sharding-sphere,MariaDB驱动依赖和spring-boot-configuration-processor,jdbc,mybatis,HikariCP依赖。

当前内容已被隐藏,您需要登录才能查看

二,创建数据库和表,以及在application.yml里配置数据源
    创建ds_0数据库和表

当前内容已被隐藏,您需要登录才能查看

    创建ds_1数据库和表

当前内容已被隐藏,您需要登录才能查看

    在application.yml里配置数据源

当前内容已被隐藏,您需要登录才能查看

三,实现分库和分表的算法
    分库算法:

当前内容已被隐藏,您需要登录才能查看

    分表算法:
    ==和IN的分表算法实现

当前内容已被隐藏,您需要登录才能查看

    Between的分表算法实现

当前内容已被隐藏,您需要登录才能查看

四,配置Sharding规则

当前内容已被隐藏,您需要登录才能查看

五,我使用的是mybatis,我使用mybatis-generator生成了model和mapper文件,然后配置mybatis使用配置好的Sharding DataSource.

当前内容已被隐藏,您需要登录才能查看
当前内容已被隐藏,您需要登录才能查看
当前内容已被隐藏,您需要登录才能查看
当前内容已被隐藏,您需要登录才能查看

    xml文件我这里省略,不添加上来了,用户可以自己使用generator生成。
    配置mybatis使用配置好的Sharding DataSource

当前内容已被隐藏,您需要登录才能查看

 



所属分类:架构

 0条回应

我有话说:
    ×
    订阅图标按钮