SpringBoot+MyBatis+MySQL读写分离(实例)
2023-09-11 14:22:42 时间
https://mp.weixin.qq.com/s/1vTbllmZkHRnuk7_xR2DIg
1. 引言
读写分离要做的事情就是对于一条SQL该选择哪个数据库去执行,至于谁来做选择数据库这件事儿,无非两个,要么中间件帮我们做,要么程序自己做。因此,一般来讲,读写分离有两种实现方式。第一种是依靠中间件(比如:MyCat),也就是说应用程序连接到中间件,中间件帮我们做SQL分离;第二种是应用程序自己去做分离。这里我们选择程序自己来做,主要是利用Spring提供的路由数据源,以及AOP。
然而,应用程序层面去做读写分离最大的弱点(不足之处)在于无法动态增加数据库节点,因为数据源配置都是写在配置中的,新增数据库意味着新加一个数据源,必然改配置,并重启应用。当然,好处就是相对简单。
2. AbstractRoutingDataSource
基于特定的查找key路由到特定的数据源。它内部维护了一组目标数据源,并且做了路由key与目标数据源之间的映射,提供基于key查找数据源的方法。
3. 实践
关于配置请参考:
https://www.cnblogs.com/cjsblog/p/9706370.html
相关文章
- mysql中一条insert语句批量插入多条记录
- mysql客户端(Navicat)远程登录操作遇到问题1142 - XXX command denied to ×××
- 【MySQL高级】MySql中常用工具及Mysql 日志
- python mysql-connector模块连接数据库详解
- 【MySQL进阶-03】深入理解mysql的索引分类,覆盖索引,覆盖索引失效,回表,MRR
- MySQL中mybatis的大于等于小于等于的写法
- mysql互换表中两列数据方法
- mysql数据库提示本地无法连接远程服务器(Host is not allowed to connect to this MySQL server)解决办法
- 项目访问mysql时报: Failed to obtain JDBC Connection...:Host ‘X‘is not allowed to connect to this MySQL ser
- 【mysql】MySQL的sql_mode模式说明及设置
- mysql Waiting for table flush
- 基于Python+MySQL编写的(WinForm)图书管理系统【100010099】
- MySQL/MariaDB中的事务和事务隔离级别
- Linux-013-Centos mysql 5.6.50 修改字符集为 utf8
- python操作mysql数据库系列-操作MySql数据库(五)
- springboot 3 下连接 mysql 数据库以及整合 mybatis-plus
- Amoeba是一个类似MySQL Proxy的分布式数据库中间代理层软件,是由陈思儒开发的一个开源的java项目
- PHP+MySQL 网站 SQL 注入攻击测试用例
- mysql 加入柱更改列删除列
- (5.7)mysql高可用系列——MySQL中的GTID复制(理论篇)【转】
- MySql_SQLyog+SQL Assistant实现智能提示
- mysql 批量插入数据过多的解决方法
- 使用Springboot+MybatisPlus+Echarts+Mysql从0-1完成中国地图可视化动态展示
- springboot配置druid多数据源(mysql、postgresql、oracle)
- Mysql经典45道题(数据源)