spring: config: activate: on-profile: prod shardingsphere: datasource: names: master,slave master: type: com.alibaba.druid.pool.DruidDataSource driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://asus:3306/auth_db?characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&autoReconnect=true&failOverReadOnly=false&zeroDateTimeBehavior=convertToNull&useSSL=false username: auth_user password: zxc521cxzPass! slave: type: com.alibaba.druid.pool.DruidDataSource # 数据库配置,配置属性名 不同连接池,连接名不一样。根据数据库连接池DataSource来配置 driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://dell:3306/auth_db?characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&autoReconnect=true&failOverReadOnly=false&zeroDateTimeBehavior=convertToNull&useSSL=false username: auth_user password: zxc521cxzPass! props: sql-show: true rules: readwrite-splitting: load-balancers: roundRobin: type: ROUND_ROBIN #从库路由算法,ROUND_ROBIN:轮询,RANDOM:随机 data-sources: read-write_0: #自动发现数据源名称(配置动态读写分离规则显示),库中不配置则读写分离不生效,不配置则为静态分离,可以动态扩容。 #只支持MySQL的自动发现,可以拓展成根据配置进行动态扩容? #auto_aware_data_source_name load-balancer-name: roundRobin #轮询算法 read-data-source-names: slave #读库 write-data-source-name: master #写库 sharding: tables: users: table-strategy: standard: sharding-algorithm-name: table-inline sharding-column: user_id actual-data-nodes: read-write_0.users_$->{0..1} #read-write_0 为读写分离的逻辑表明 sharding-algorithms: table-inline: type: INLINE props: algorithm-expression: users_$->{user_id % 2} #分片算法
ShardingSphere表分片
最新推荐文章于 2024-07-17 10:37:21 发布
该配置展示了在Spring环境中如何设置数据源,包括主从数据源(master,slave)使用DruidDataSource,以及实现读写分离和分片策略。读写分离通过ROUND_ROBIN轮询算法进行负载均衡,分片策略基于用户ID进行哈希计算,确保数据分布。
摘要由CSDN通过智能技术生成