Spring Boot + MyBatis + MySQL 实现读写分离
2024-09-05 19:12:37
读写分离要做的事情就是对于一条SQL该选择哪个数据库去执行,至于谁来做选择数据库这件事儿,无非两个,要么中间件帮我们做,要么程序自己做。
读写分离有两种实现方式:
第一种是依靠中间件(比如:MyCat),也就是说应用程序连接到中间件,中间件帮我们做SQL分离;
第二种是应用程序自己去做分离。这里我们选择程序自己来做,主要是利用Spring提供的路由数据源,以及AOP
然而,应用程序层面去做读写分离最大的弱点(不足之处)在于无法动态增加数据库节点,因为数据源配置都是写在配置中的,新增数据库意味着新加一个数据源,必然改配置,并重启应用。当然,好处就是相对简单。
AbstractRoutingDataSource
基于特定的查找key路由到特定的数据源。它内部维护了一组目标数据源,并且做了路由key与目标数据源之间的映射,提供基于key查找数据源的方法。
maven依赖
数据源配置--application.yml:
最新文章
- vmware里面的名词 vSphere、vCenter Server、ESXI、vSphere Client
- 在DevExpress中使用CameraControl控件进行摄像头图像采集
- JDK历史版本
- 常用SQL总结
- XML编程知识点总结
- android Home键和返回键
- python之文件操作
- ruby的optparse使用小记
- Linux GPT分区
- @interface java注解
- oracle随笔(转)
- [Python] 发送email的几种方式
- Linux新手随手笔记1.6
- Day7--------------虚拟机网络服务
- ux.form.field.Month 只能选年、月的时间扩展
- setup&;hold
- windows10 自带笔记本键盘禁止和开启
- TOP100summit 2017 七牛云许式伟:不用JAVA和C语言,我为什么坚持Go语言
- RxJava 与观察者模式
- Resources in Visual Tracking