Sharding-jdbc 读写分离(三)- springboot+mybatis+Hikari

摘要:
概念在上一篇文章介绍了如何使用Sharing-JDBC实现数据库的分表分库。这章节将介绍读写分离,读写分离的好处就是在并发量比较大的情况下,将查询数据库的压力分担到多个从库中,能够满足高并发的要求。比如上一篇实现的那样,架构图如下:代码sharding.jdbc.datasource.names=db0,db1#数据源db0sharding.jdbc.datasource.db0.type=com.zaxxer.hikari.HikariDataSourcesharding.jdbc.datasource.db0.driver-class-name=com.mysql.cj.jdbc.Driversharding.jdbc.datasource.db0.jdbc-url=jdbc:mysql://localhost:3306/db0?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTCsharding.jdbc.datasource.db1.username=rootsharding.jdbc.datasource.db1.password=1234#第三个数据库sharding.jdbc.datasource.db1.type=com.zaxxer.hikari.HikariDataSourcesharding.jdbc.datasource.db1.driver-class-name=com.mysql.cj.jdbc.Driversharding.jdbc.datasource.db1.jdbc-url=jdbc:mysql://localhost:3306/db2?

概念

在上一篇文章介绍了如何使用Sharing-JDBC实现数据库的分表分库。这章节将介绍读写分离,读写分离的好处就是在并发量比较大的情况下,将查询数据库的压力 分担到多个从库中,能够满足高并发的要求。比如上一篇实现的那样,架构图如下:
在这里插入图片描述

代码

sharding.jdbc.datasource.names=db0,db1
# 数据源db0
sharding.jdbc.datasource.db0.type=com.zaxxer.hikari.HikariDataSource
sharding.jdbc.datasource.db0.driver-class-name=com.mysql.cj.jdbc.Driver
sharding.jdbc.datasource.db0.jdbc-url=jdbc:mysql://localhost:3306/db0?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
sharding.jdbc.datasource.db0.username=root
sharding.jdbc.datasource.db0.password=1234sharding.jdbc.datasource.db0.maxPoolSize=20# 第二个数据库
sharding.jdbc.datasource.db1.type=com.zaxxer.hikari.HikariDataSource
sharding.jdbc.datasource.db1.driver-class-name=com.mysql.cj.jdbc.Driver
sharding.jdbc.datasource.db1.jdbc-url=jdbc:mysql://localhost:3306/db1?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
sharding.jdbc.datasource.db1.username=root
sharding.jdbc.datasource.db1.password=1234
# 第三个数据库
sharding.jdbc.datasource.db1.type=com.zaxxer.hikari.HikariDataSource
sharding.jdbc.datasource.db1.driver-class-name=com.mysql.cj.jdbc.Driver
sharding.jdbc.datasource.db1.jdbc-url=jdbc:mysql://localhost:3306/db2?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
sharding.jdbc.datasource.db1.username=root
sharding.jdbc.datasource.db1.password=1234
sharding.jdbc.config.masterslave.name=db_m_0_s_1
# 配置从库选择策略,提供轮询与随机(round_robin/random),这里选择用轮询 
sharding.jdbc.config.masterslave.load-balance-algorithm-type=round_robin
sharding.jdbc.config.masterslave.master-data-source-name=db0
sharding.jdbc.config.masterslave.slave-data-source-names=db1

# 打印执行的数据库以及语句
sharding.jdbc.config.sharding.props.sql.show=truespring.main.allow-bean-definition-overriding=true

转载于:https://blog.csdn.net/weixin_42338555/article/details/104882094?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.channel_param

免责声明:文章转载自《Sharding-jdbc 读写分离(三)- springboot+mybatis+Hikari》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇使用json数据动态创建表格2(多次绘制第一次简化 var tr=tbody.insertRow();)solarwinds之配置系统管理(System manager)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

SqlServer Alwayson 搭建排错记录(二)

  下面记录下建立好alwayson可用性组后,向可用性组内添加数据库出现过的问题及解决方法 一、数据库未处于恢复状态   将数据库联接到可用性组的时候报错: 数据库“XXXX”未处于恢复状态,而此状态是镜像数据库或辅助数据库所必需的。必须使用 WITH NORECOVERY 还原远程数据库。 (Microsoft SQL Server,错误: 1464)...

vivo 云服务海量数据存储架构演进与实践

一、写在开头 vivo 云服务提供给用户备份手机上的联系人、短信、便签、书签等数据的能力,底层存储采用 MySQL 数据库进行数据存储。 随着 vivo 云服务业务发展,云服务用户量增长迅速,存储在云端的数据量越来越大,海量数据给后端存储带来了巨大的挑战。云服务业务这几年最大的痛点,就是如何解决用户海量数据的存储问题。 二、面临挑战 2017-2018年,...

postgresql-slony-I同步复制配置步骤

主数据库: 172.16.254.21 端口:5432 从数据库: 172.16.254.22 端口:5432 步骤1:主从均安装slon apt-get install slon-bin 步骤2:主从数据库配置权限,创建语言。 在主数据库中   vi /etc/postgresql/8.3/node/pg_hba.conf 添加一条记录    host ...

数据库测试数据自动生成工具

数据库测试数据自动生成工具——TestBytes 在数据库开发的过程中,为了测试应用程序对数据库的访问,应当在数据库中生成测试用例数据,我们可能会发现当数据库中只有少量数据时,程序可能没有问题,但是当真正投入到运用中产生了大量数据时就出现问题了,这往往是因为程序的编写没有达到,所以一定及早地通过在数据库中生成大量数据来帮助开发人员完善这部分功能和性能。...

VS中关于数据库的操作

1.数据库迁移 第一步: 第二步: 在窗口中选择项目中的EntitiyFramwork项目(与数据库连接的文件集) 第三步: 输入update-database    二:数据对比 第一步:    第二步:选择需要对比的源数据库和目标数据库 第三步:选择需要对比的表、字段或视图 第四步: 第五步: 三、数据架构对比(当表结构发生改变时) 第一步:...

Java事务

Java事务的类型有三种:JDBC事务、JTA(Java Transaction API)事务、容器事务。常见的容器事务如Spring事务,容器事务主要是J2EE应用服务器提供的,容器事务大多是基于JTA完成,这是一个基于JNDI的,相当复杂的API实现。所以本文暂不讨论容器事务。本文主要介绍J2EE开发中两个比较基本的事务:JDBC事务和JTA事务。 J...