内容简介:网上关于动态数据源的切换的文档有很多,核心只有两种。1是构建多套环境,2是基于spring原生的AbstractRoutingDataSource如果你的数据源较少,场景不复杂,选择以上任意一种都可以。如果你需要更多特性,请试着尝试本数据源。不足在于不能使用事物,当然你在网上查的其他方案也都不能提供。
网上关于动态数据源的切换的文档有很多,核心只有两种。1是构建多套环境,2是基于spring原生的AbstractRoutingDataSource 切换。
如果你的数据源较少,场景不复杂,选择以上任意一种都可以。如果你需要更多特性,请试着尝试本数据源。
-
数据源分组,适用于多种场景,常见的场景如下。
-
纯粹多库,各个库甚至可以是不同的数据库。
-
读写分离,一主多从,多主多从。
-
混合模式,既有主从也有单库。
-
自动集成Druid数据源,方便监控管理。
-
自动集成Mybatis-Plus。
-
自定义数据源来源。(如从数据库的配置中加载数据源)
-
动态增减数据源。
-
使用spel从session,header和参数中获取数据源。
-
多层数据源嵌套切换。(一个业务ServiceA调用ServiceB,ServiceB调用ServiceC,每个Service都是不同的数据源)
不足在于不能使用事物,当然你在网上查的其他方案也都不能提供。
如果你需要使用到分布式事物,那么你的架构应该到了微服务化的时候了。
约定
-
本框架只做 切换数据源 这件核心的事情,并 不限制你的具体操作 ,切换了数据源可以做任何CRUD。
-
配置文件所有以下划线
_分割的数据源 首部 即为组的名称,相同组名称的数据源会放在一个组下。 -
切换数据源即可是组名,也可是具体数据源名称,切换时默认采用负载均衡机制切换。
-
默认的数据源名称为 master ,你可以通过spring.datasource.dynamic.primary修改。
-
方法上的注解优先于类上注解。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
UNIX环境高级编程
W.Richard Stevens、Stephen A.Rago / 尤晋元、张亚英、戚正伟 / 人民邮电出版社 / 2006年 / 99.00元
本书是被誉为UNIX编程“圣经”的Advanced Programming in the UNIX Environment一书的更新版。在本书第1版出版后的十几年中,UNIX行业已经有了巨大的变化,特别是影响UNIX编程接口的有关标准变化很大。本书在保持了前一版风格的基础上,根据最新的标准对内容进行了修订和增补,反映了最新的技术发展。书中除了介绍UNIX文件和目录、标准I/O库、系统数据文件和信息......一起来看看 《UNIX环境高级编程》 这本书的介绍吧!