Java项目《谷粒商城》架构师级Java项目实战,对标阿里P6-P7,全网最强
总时长 104:45:00 共408P
此文章包含第364p-第p365的内容
分库分表
这种基本无人用

shardingSphere
shard(碎片)
sphere (球)


sharding-JDBC
sharding-JDBC 继承我们的连接池 ,
使用方法 导入依赖 然后配置我们的分库分表策略就行


sharding-proxy
代理端
假装自己是一个数据库 我们的业务代码连向它就行 它相当于一个中间件来连接数据库 ,在它的内部来进行分库分表


使用proxy



下载压缩包

分片规则

定义了两个数据源

定义分库分表规则

还支持数据脱敏


数据分片和读写分离

实例配置文件

读写分离配置
*
我们使用mysql

下载mysql驱动,复制到lib文件夹下


配置认证信息


还可以配置一些属性

这里我们为了节省资源 分的库都在一个ip和端口上,生成环境中 最好分在两个不同的服务器上

添加规则
我们使用雪花算法 这样不会产生自增的错误


绑定表
绑定了 这俩的order_id一样的话 就都会在这里
分库策略
根据用户的id进行分库

默认分表策略就可以设置为none了 因为之前已经分完了

读写分离配置
注意:Navicat11以上才能连上

主数据源



数据源主从规则
这里我们使用轮询的负载均衡策略


设置第二个主数据库 和从数据源

使用bat启动sharding

这里的报错原因 : 找不到ms_ds1

这个版本的 我们只能配置一个

这里我们如果想配置两个 可以再添加一个配置文件




改错的时候 停掉 mysql-master 和 mysql-slaver-01

修改my.cnf文件


修改从库的my.cnf


重新启动这两个库

启动成功

我们自己指定端口
这个文件来看 可以传端口号


这里我们使用root用户进行登录
(shading权限太小)
这里sqlyog产生了空指针异常 我们可以换成navcat就不报错了


这里要用navicat11及以上


真实的数据库长这样


这里看真实数据库
用户id为偶数的订单都在demo_ds_0里,用户id为奇数的订单都在demo_ds_1里




















