Java利用shardingsphere进行读写分离

2022-07-11  本文已影响0人  守护浪漫的小香樟

最近在梳理Java开发中的知识点, 读写分离在业务开发中是比较常用的功能, 基于数据使用频率对业务进行拆分.

主要用到shardingsphere

一、依赖;

<dependency>

<groupId>org.apache.shardingsphere</groupId>

<artifactId>sharding-jdbc-spring-boot-starter</artifactId>

<version>4.1.1</version>

</dependency>

<dependency>

<groupId>org.apache.shardingsphere</groupId>

<artifactId>sharding-jdbc-spring-namespace</artifactId>

<version>4.0.0-RC1</version>

</dependency>

<dependency>

<groupId>org.apache.shardingsphere</groupId>

<artifactId>sharding-transaction-xa-core</artifactId>

<version>4.1.1</version>

</dependency>

<dependency>

<groupId>com.alibaba</groupId>

<artifactId>druid-spring-boot-starter</artifactId>

<version>1.1.20</version>

</dependency>

二、数据库配置

mybatis.config-location=classpath:mybatis-config.xml

spring.shardingsphere.datasource.names=master,slave0

# 数据源 主库

spring.shardingsphere.datasource.master.type=com.alibaba.druid.pool.DruidDataSource

spring.shardingsphere.datasource.master.driver-class-name=com.mysql.jdbc.Driver

spring.shardingsphere.datasource.master.url=jdbc:mysql://localhost:3306/task_manage?characterEncoding=utf-8

spring.shardingsphere.datasource.master.username=root

spring.shardingsphere.datasource.master.password=rootroot

# 数据源 从库

spring.shardingsphere.datasource.slave0.type=com.alibaba.druid.pool.DruidDataSource

spring.shardingsphere.datasource.slave0.driver-class-name=com.mysql.jdbc.Driver

spring.shardingsphere.datasource.slave0.url=jdbc:mysql://localhost:3306/task_manage_r?characterEncoding=utf-8

spring.shardingsphere.datasource.slave0.username=root

spring.shardingsphere.datasource.slave0.password=rootroot

# 读写分离

spring.shardingsphere.masterslave.load-balance-algorithm-type=round_robin

spring.shardingsphere.masterslave.name=ms

spring.shardingsphere.masterslave.master-data-source-name=slave0

spring.shardingsphere.masterslave.slave-data-source-names=master

#打印sql

spring.shardingsphere.props.sql.show=true

三、常见问题:

正常启动的项目在引入依赖和配置之后会遇到不能启动的问题, 大概率是注解的问题

DruidDataSourceAutoConfigure

具体用法:

上一篇 下一篇

猜你喜欢

热点阅读