在我《spring cloud微服务-全栈技术与案例解析》书中,第18章节分库分表解决方案里有对sharding-jdbc的使用进行详细的讲解。
之前是通过xml方式来配置数据源,读写分离策略,分库分表策略等,之前有朋友也问过我,有没有spring boot的方式来配置,既然已经用spring boot还用xml来配置感觉有点不协调。
其实吧我个人觉得只要能用,方便看,看的懂就行了,mybatis的sql不也是写在xml中嘛。
今天就给大家介绍下spring boot方式的使用,主要讲解读写分离的配置,其余的后面再介绍。
所谓的spring boot方式就是直接可以通过属性文件或者yaml文件来配置上面我们提到的那些信息。
主要还是用shardingjdbc提供的starter,配置如下:
1
2
3
4
5
|
<dependency>
<groupid>io.shardingjdbc</groupid>
<artifactid>sharding-jdbc-spring-boot-starter</artifactid>
<version> 2.0 . 0 .m3</version>
</dependency>
|
配置内容如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
server.port= 8084
mybatis.config-location=classpath:meta-inf/mybatis-config.xml
sharding.jdbc.datasource.names=ds_master,ds_slave
# 主数据源
sharding.jdbc.datasource.ds_master.type=com.alibaba.druid.pool.druiddatasource
sharding.jdbc.datasource.ds_master.driver- class -name=com.mysql.jdbc.driver
sharding.jdbc.datasource.ds_master.url=jdbc:mysql: //localhost:3306/ds_0?characterencoding=utf-8
sharding.jdbc.datasource.ds_master.username=root
sharding.jdbc.datasource.ds_master.password= 123456
# 从数据源
sharding.jdbc.datasource.ds_slave.type=com.alibaba.druid.pool.druiddatasource
sharding.jdbc.datasource.ds_slave.driver- class -name=com.mysql.jdbc.driver
sharding.jdbc.datasource.ds_slave.url=jdbc:mysql: //localhost:3306/ds_1?characterencoding=utf-8
sharding.jdbc.datasource.ds_slave.username=root
sharding.jdbc.datasource.ds_slave.password= 123456
# 读写分离配置
sharding.jdbc.config.masterslave.load-balance-algorithm-type=round_robin
sharding.jdbc.config.masterslave.name=datasource
sharding.jdbc.config.masterslave.master-data-source-name=ds_master
sharding.jdbc.config.masterslave.slave-data-source-names=ds_slave
|
- sharding.jdbc.config.masterslave.load-balance-algorithm-type
查询时的负载均衡算法,目前有2种算法,round_robin(轮询)和random(随机),算法接口是io.shardingjdbc.core.api.algorithm.masterslave.masterslaveloadbalancealgorithm。实现类有randommasterslaveloadbalancealgorithm和roundrobinmasterslaveloadbalancealgorithm。
- sharding.jdbc.config.masterslave.master-data-source-name
主数据源名称
- sharding.jdbc.config.masterslave.slave-data-source-names
从数据源名称,多个用逗号隔开
就是这么简单,整个流程结束,下面就是写代码测试读写分离的效果了,我这边用的mybatis,代码在我的github上,文章中就不贴出来了,大家都会。
参考代码:https://github.com/yinjihuan/spring-cloud/tree/master/fangjia-sjdbc-read-write-springboot
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持快网idc。
原文链接:https://segmentfault.com/a/1190000018455639
相关文章
- ASP.NET自助建站系统的域名绑定与解析教程 2025-06-10
- 个人服务器网站搭建:如何选择合适的服务器提供商? 2025-06-10
- ASP.NET自助建站系统中如何实现多语言支持? 2025-06-10
- 64M VPS建站:如何选择最适合的网站建设平台? 2025-06-10
- ASP.NET本地开发时常见的配置错误及解决方法? 2025-06-10
- 2025-07-10 怎样使用阿里云的安全工具进行服务器漏洞扫描和修复?
- 2025-07-10 怎样使用命令行工具优化Linux云服务器的Ping性能?
- 2025-07-10 怎样使用Xshell连接华为云服务器,实现高效远程管理?
- 2025-07-10 怎样利用云服务器D盘搭建稳定、高效的网站托管环境?
- 2025-07-10 怎样使用阿里云的安全组功能来增强服务器防火墙的安全性?
快网idc优惠网
QQ交流群
-
2025-05-29 14
-
PHP中使用jQuery+Ajax实现分页查询多功能操作(示例讲解)
2025-05-29 26 -
2025-05-25 69
-
2025-06-04 80
-
2025-05-25 25