Apache ShardingSphere(Incubator) 是一套开源的分布式数据库中间件解决方案组成的生态圈,它由Sharding-JDBC、Sharding-Proxy和Sharding-Sidecar(规划中)这3款相互独立,却又能够混合部署配合使用的产品组成。它们均提供标准化的数据分片、分布式事务和数据库治理功能,可适用于如Java同构、异构语言、容器、云原生等各种多样化的应用场景。[注1]
本文介绍如何使用Sharding-JDBC实现分库分表。基于的版本是4.0.0.M1-SNAPSHOT。
一.构建Shardingsphere
1.从官网下载Shardingsphere源代码,下载地址https://github.com/apache/incubator-shardingsphere
2.项目导入Intellij IDEA,使用Maven的install命令构建项目。可以直接在idea右边栏的Maven区找到sharding-sphere,点击install即可。
如果构建过程没有报错,并且构建完成之后,控制台出现BUILD SUCCESS,则说明构建成功,在你本地的Maven仓库中就会有jar包可以引用。
二.新建数据库和表
在mysql中新建两个数据库database1和database2(也可以叫别的名字),每个数据库建两张表t_order_0和t_order_1。建表语句如下:
create table t_order_0
(
id int auto_increment
primary key,
user_id int null,
order_id int null
);
create table t_order_1
(
id int auto_increment
primary key,
user_id int null,
order_id int null
);
三.搭建demo项目
1.新建一个maven项目,名为shardingsphere-demo,删除src文件夹,新建一个模块shardingsphere-jdbc-demo;
2.在根pom中对依赖进行管理,输入如下内容:
<properties> <shardingsphere.version>4.0.0.M1-SNAPSHOT</shardi