泰安网站建设与优化,下载国际新闻app软件,1建设网站的重要性,网站seo模块问题场景#xff1a; 最近在学习ShardingSphere#xff0c;跟着教程一步步做shardingJDBC#xff0c;但是想在开启数据分片的时候还能使用读写分离#xff0c;一直失败#xff0c;开始是一直能读写分离#xff0c;但是分偏见规则感觉不生效#xff0c;一直好像是走不进去…问题场景 最近在学习ShardingSphere跟着教程一步步做shardingJDBC但是想在开启数据分片的时候还能使用读写分离一直失败开始是一直能读写分离但是分偏见规则感觉不生效一直好像是走不进去[sharding]这个配置中后来debug调试可以找到相关配置又感觉是什么代码给覆盖了或者不生效了。
问题解决 后来找资料一直没有看到教程下有人一直在问读写分离和数据分片没法一起使用吗我就试了下关闭读写分离真的就可以数据分片了后来查资料: 单独的读写分离配置之后数据分片就无法生效了是两块分开的单独功能如果既想使用读写分离又想数据分片可以使用如下配置主要看sharding-master-slave-rules设置。 spring:shardingsphere:props:sql:show: true # 参数配置显示sqldatasource: # 配置数据源# 给每个数据源取别名下面的ds1,ds2,ds3任意取名字names: master,salve1# 给master-ds1每个数据源配置数据库连接信息master:# 配置druid数据源type: com.alibaba.druid.pool.DruidDataSourcedriver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://127.0.0.1:3307/springboot?useUnicodetruecharacterEncodingutf8tinyInt1isBitfalseuseSSLfalseserverTimezoneGMTusername: rootpassword: rootmaxPoolSize: 100minPoolSize: 5# 配置ds2-slavesalve1:type: com.alibaba.druid.pool.DruidDataSourcedriver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://127.0.0.1:3308/springboot?useUnicodetruecharacterEncodingutf8tinyInt1isBitfalseuseSSLfalseserverTimezoneGMTusername: rootpassword: rootmaxPoolSize: 100minPoolSize: 5# 配置默认数据源masterslave: # 配置数据源的读写分离但是数据库一定要做主从复制# 配置主从名称可以任意取名字name: ms# 配置主库master负责数据的写入master-data-source-name: master# 配置从库slave节点slave-data-source-names: salve1# 配置slave节点的负载均衡均衡策略采用轮询机制load-balance-algorithm-type: round_robinsharding:master-slave-rules: # 在使用数据分片功能情况下配置读写分离功能ds0: # 自定义一个虚拟数据源名字用于自动路由下方主从数据源masterDataSourceName: master # 指定主数据源slaveDataSourceNames: # 指定从数据源- salve1loadBalanceAlgorithmType: round_robinbinding-tables:- fa_user # 指明了分库分表要处理的虚拟表名字tables:# user_table 逻辑表名fa_user:# 数据节点数据源$-{0..N}.逻辑表名$-{0..N}actualDataNodes: ds0.fa_user_$-{2022..2023}# 拆分库策略
# database-strategy:
# standard:
# sharding-column: create_time
# precise-algorithm-class-name: com.wpj.user.shardingSphere.UserDataBaseRule# 拆分表策略table-strategy:standard:sharding-column: create_timeprecise-algorithm-class-name: com.wpj.user.shardingSphere.UserTableRule