Skip to content

618lf/shop-final

Repository files navigation

多数据源的说明

1.将发布模式调整为:MultipleDB; 则会启动 PrimaryMapperConfig、OrderMapperConfig 这两个配置
这种模式适合通过分包的模式来管理多数据源,确定了dao层使用的数据,不管Service
层中怎么换数据源,Dao 都不会改变。

【方式一】 Service 通过注解来声明事务,并需要指定事务管理器。 默认会使用Primary指定的事务管理器。 【方式二】通过Aop植入事务的方式, 如果两个会用则会用两个拦截器,可以通过Order来排序。

这种模式适合:非主从模式的数据源之间的切换。

2.将发布模式调整为:DynamicDS
这个对外只有一个动态数据源,对内则有多个实际的数据源。通过先线程变量中切换实际的数据源来达到切换数据源的目的。
也是通过AOP在根据需要来切换数据源

这种模式适合:非主从模式的数据源之间的切换。

  1. 主从模式的数据源切换
    主数据源负责事务部分,从数据源负责读。如果已经有事务,则只能走主数据源。 这个我觉得不适合上面的两种方式,可以参考shardingjdbc来实现。

总结一下: 我觉得系统如果要配置多数据源只有两种需求,一种是完全隔离的两个库,这种可以使用MultipleDB 这种模式,通过包来区分数据源。 一种是主从模式的多数据源,这种可以使用: shardingjdbc来实现,或者参考来实现。

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •