苞米豆-多数据源 2.3.4 发布:优化底层,支持嵌套切换

栏目: 数据库 · 发布时间: 7年前

内容简介:网上关于动态数据源的切换的文档有很多,核心只有两种。1是构建多套环境,2是基于spring原生的AbstractRoutingDataSource如果你的数据源较少,场景不复杂,选择以上任意一种都可以。如果你需要更多特性,请试着尝试本数据源。不足在于不能使用事物,当然你在网上查的其他方案也都不能提供。

网上关于动态数据源的切换的文档有很多,核心只有两种。1是构建多套环境,2是基于spring原生的AbstractRoutingDataSource 切换。

如果你的数据源较少,场景不复杂,选择以上任意一种都可以。如果你需要更多特性,请试着尝试本数据源。

  1. 数据源分组,适用于多种场景,常见的场景如下。

  • 纯粹多库,各个库甚至可以是不同的数据库。

  • 读写分离,一主多从,多主多从。

  • 混合模式,既有主从也有单库。

  1. 自动集成Druid数据源,方便监控管理。

  2. 自动集成Mybatis-Plus。

  3. 自定义数据源来源。(如从数据库的配置中加载数据源)

  4. 动态增减数据源。

  5. 使用spel从session,header和参数中获取数据源。

  6. 多层数据源嵌套切换。(一个业务ServiceA调用ServiceB,ServiceB调用ServiceC,每个Service都是不同的数据源)

不足在于不能使用事物,当然你在网上查的其他方案也都不能提供。

如果你需要使用到分布式事物,那么你的架构应该到了微服务化的时候了。

约定

  1. 本框架只做 切换数据源 这件核心的事情,并 不限制你的具体操作 ,切换了数据源可以做任何CRUD。

  2. 配置文件所有以下划线 _ 分割的数据源  首部 即为组的名称,相同组名称的数据源会放在一个组下。

  3. 切换数据源即可是组名,也可是具体数据源名称,切换时默认采用负载均衡机制切换。

  4. 默认的数据源名称为 master ,你可以通过spring.datasource.dynamic.primary修改。

  5. 方法上的注解优先于类上注解。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

爆款:如何打造超级IP

爆款:如何打造超级IP

【美】安妮塔•埃尔伯斯 / 杨雨 / 中信出版社 / 2016-1-10 / 49

哈佛商学院IP运营与产品管理方法论第一书,翻转长尾理论的重要著作! 电影大片、当红炸子鸡、百万畅销书背后的运营逻辑是什么? 《五十度灰》、Lady Gaga、维多利亚的秘密有何共同秘密? 漫威如何将蜘蛛侠、X战警、绿巨人打造成金矿? 皇马如何打造体育IP,一跃成为全球收 入最高的足球俱乐部? 爆款策略如何运用于电影、电视、音乐、出版、体育与商业各领域? ----......一起来看看 《爆款:如何打造超级IP》 这本书的介绍吧!

SHA 加密
SHA 加密

SHA 加密工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具