实现sharding-jdbc读写分离
(1)在Sharding-JDBC规则中修改
# 增加数据源s0,使用主从同步配置的从库。
spring.shardingsphere.datasource.names=m1,m2,m0,s0
···
# 新增s0数据源,实现sharding-jdbc读写分离
spring.shardingsphere.datasource.s0.type=com.alibaba.druid.pool.DruidDataSource
spring.shardingsphere.datasource.s0.driver‐class‐name=com.mysql.jdbc.Driver
spring.shardingsphere.datasource.s0.url=jdbc:mysql://localhost:3307/user_db?useUnicode=true
spring.shardingsphere.datasource.s0.username=root
spring.shardingsphere.datasource.s0.password=123456
# 主库从库逻辑数据源定义 命名为:ds0()为user_db
spring.shardingsphere.sharding.master‐slave‐rules.ds0.master-data-source-name=m0
spring.shardingsphere.sharding.master‐slave‐rules.ds0.slave-data-source-names=s0
# t_user分表策略,固定分配至ds0的t_user真实表 ds0.t_user包含了m0和s0
spring.shardingsphere.sharding.tables.t_user.actual-data-nodes=ds0.t_user
···
(2)测试
通过日志可以看出,所有写操作落入m0数据源。所有写操作落入s0数据源,达到目标。