当前位置:   article > 正文

多租户模式设计_guns多租户

guns多租户

大家好,最近有个需求,就是一套系统,给不同公司使用,还要数据隔离,所以就设计了这种多租户模式,使用请求不同,访问的数据源也不同的多租户模式,下面让我们来一起看一下,是否对你有所启发...

1.首先说下设计思路

先默认连接一个数据库,数据库里面有一个数据源配置表,配置了所有租户的不同数据源,在启动项目的时候初始化连接这些数据源,放在一个集合中,然后不同租户的请求要在请求头设置一个参数,在请求的时候拦截这个参数,来控制访问的数据源,就是这么简单。

2.来具体看下

首先设置一套动态数据源保存地方

  1. public class DynamicDataSource extends AbstractRoutingDataSource {
  2. // 存储数据源
  3. private Map<Object, Object> targetDataSources = new HashMap<Object, Object>();
  4. @Override
  5. protected DataSource determineTargetDataSource() {
  6. return super.determineTargetDataSource();
  7. }
  8. /**
  9. * 配置DataSource, defaultTargetDataSource为主数据库
  10. */
  11. public DynamicDataSource(DataSource defaultTargetDataSource, Map<Object, Object> targetDataSources) {
  12. super.setDefaultTargetDataSource(defaultTargetDataSource);
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/902953
推荐阅读
相关标签
  

闽ICP备14008679号