Sharding-JDBC:实现数据库的读写分离?

简介

轻量级Java框架,在Java的JDBC层提供额外服务,以jar包的形式提供服务(增强版数据库连接驱动)。

适用于基于JDBC的ORM框架、支持第三方数据库连接池、支持实现了JDBC规范的数据库。

 

读写分离:基于已配置好主从复制的多个数据库。

 

使用步骤

  在springboot项目中使用。

一、导入依赖

<dependency>
    <groupId>org.apache.shardingsphere</groupId>
    <artifactId>sharding-jdbc-spring-boot-starter</artifactId>
    <version>4.1.1</version>
</dependency>

二、配置信息application.yml

  配置运行bean定义覆盖,保证sharding-jdbc生成的datasource对象与其它框架不发生冲突。

  配置多个数据源,指定主库、从库,指定从库的负载策略。

spring:
  main:
   #允许bean定义覆盖,后生成的bean会覆盖之前生成的bean allow-bean-definition-overriding: true shardingsphere: datasource:
    # 配置数据源名称 names: master,slave # 数据源配置(主) master: type: com.alibaba.druid.pool.DruidDataSource driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://192.169.12.134:3306/db_test?characterEncoding=utf-8 username: **** password: **** # 数据源配置(从) slave: type: com.alibaba.druid.pool.DruidDataSource driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://192.168.11.123:3306/db_test?characterEncoding=utf-8 username: **** password: **** masterslave: # 从库负载均衡策略,轮询 load-balance-algorithm-type: round_robin # 数据源名称 name: dataSource # 指定主库数据源 master-data-source-name: master # 指定从库数据源,多个逗号分隔 slave-data-source-names: slave props: # 开启SQL显示,默认false sql: show: true

 

结果

  项目中增删改操作会操作指定的主库,查询操作会操作指定的从库。

 

posted @ 2023-05-05 18:51  在博客做笔记的路人甲  阅读(106)  评论(0编辑  收藏  举报