技能-ShardingSphere做数据库的读写分离,集成到SpringCloud项目中

1.ShardingSphere

在这里插入图片描述

Sharding参考资料地址

2.集成项目为SpringCloud的项目

3.集成步骤

3.1. POM依赖引入

    <!-- 数据库读写分离 -->
    <dependency>
        <groupId>org.apache.shardingsphere</groupId>
        <artifactId>shardingsphere-jdbc-core-spring-boot-starter</artifactId>
        <version>5.0.0</version>
    </dependency>

3.2. 配置文件YAML

重点注意版本,不同版本的Sharding的配置属性差异很大

#数据源配置
spring:
  # Sharding库配置
  shardingsphere:
    datasource:
      names: master,slave1
      # 数据源 主库; 负责写
      master:
        type: com.alibaba.druid.pool.DruidDataSource
        url: ${数据库的url}
        username: ${username}
        password: ${password}
      # 数据源 从库; 负责读
      slave1:
        type: com.alibaba.druid.pool.DruidDataSource
        url: ${数据库的url}
        username: ${username}
        password: ${password}
    # 读写分离
    rules:
      readwrite-splitting:
        data-sources:
          glapp:
            write-data-source-name: master
            read-data-source-names:
              - slave1
            load-balancer-name: roundRobin # 负载均衡算法名称
        load-balancers:
          roundRobin:
            type: ROUND_ROBIN
            props:
              value: value
    # 打印sql
    props:
      sql-show: true

3.3. 移除原先使用的数据源配置,将数据源托管给ShardingSphere

// 启动类上增加注解, 移除原先的单库链接数据源
@SpringBootApplication(exclude = {DruidDataSourceAutoConfigure.class})

3.4. 启动项目查看日志

在这里插入图片描述
实现了主从库的读写分离,是不是贼简单!

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

汉风唐尚

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值