多数据源配置

在工作中, 从分布式服务来说, 涉及到多个数据源来说,  可能最好的方式是拆分成单一的服务,  形成微服务 。  但是这个其中可能需要有一个度 ,  如果所有涉及到多数据源的系统,   最终都拆分成单一服务,  这样的后果一定会造成资源的浪费(当然财大气粗 当我没说)。 所以在项目中多数据源的场景也是必要的,那么接下来梳理一下多数据源的点。

如上图这样 配置多个数据源

维护多数据源

 

查看源代码是怎么进行切换数据源的  深入spring-jdbc源代码会发现

我们会发现 取数据库是在resolvedDataSources  中去取的  可是我们在配置文件只是配置了targetDataSources  那么数据是怎么来的呢  继续深入发现

在初始化bean的时候就会先加载这个方法  将targetDataSources   数据转为resolvedDataSources  (初始化bean为什么先调用方法 afterPropertiesSet    查看http://www.javashuo.com/article/p-hpaoehnz-cr.html

接下来我们还需要考虑事务如何配置

多事务配置参考:https://blog.csdn.net/xiaoxufox/article/details/79295528

我之前遇到一个疑问  现在有一个项目A  A中有数据源配置   现在要引用一个jar包B   Bjar包中也有多数据源配置  那么如何决定使用哪个?需不需要程序去配置

经过查询原来知道了 使用哪个mapper 就会使用哪个mapper配置的数据源  所以程序会自动识别  无需多配置