springBoot 读写分离

1.pom.xml配置
        <!-- 读写分离api -->
     <dependency> <groupId>org.apache.shardingsphere</groupId> <artifactId>sharding-jdbc-spring-boot-starter</artifactId> <version>4.0.0-RC1</version> </dependency>
     

      <!-- 阿里druid数据库连接池api -->  
      <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>druid-spring-boot-starter</artifactId>
        <version>1.1.20</version>
      </dependency>

      <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>druid</artifactId>
        <version>1.2.8</version>
      </dependency>

2.资源配置文件

spring:
  #数据源配置
  main:
    allow-bean-definition-overriding: true
  shardingsphere:
    datasource:
      names:
        master,slave
      # 主数据源
      master:
        type: com.alibaba.druid.pool.DruidDataSource
        username: root
        password: ffjy1101
        url: jdbc:mysql://localhost:3306/test1?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8&useSSL=false
        driver-class-name: com.mysql.cj.jdbc.Driver
      # 从数据源
      slave:
        type: com.alibaba.druid.pool.DruidDataSource
        username: root
        password: ffjy1101
        url: jdbc:mysql://localhost:3306/test2?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8&useSSL=false
        driver-class-name: com.mysql.cj.jdbc.Driver
    masterslave:
      # 读写分离配置
      load-balance-algorithm-type: round_robin #轮询
      # 最终的数据源名称
      name: dataSource
      # 主库数据源名称
      master-data-source-name: master
      # 从库数据源名称列表,多个逗号分隔
      slave-data-source-names: slave
    props:
      sql:
        show: true #开启SQL显示,默认false

 

3.新建test1,test2数据库,添加测试数据

 

 4.测试,先查询数据,后新增数据

 
上图可以看到查询的是数据库
下图可以看到插入的是数据库

 

从数据库表引擎改为myisam可以大大的提升查询效率

posted @ 2024-04-19 11:25  好mingzi给猪了  阅读(5)  评论(0编辑  收藏  举报