多租户动态数据源BUG

Blade 未结 1 946
靓仔
靓仔 剑者 2021-04-27 18:29

一、该问题的重现步骤是什么?

1. 首先去租户中心绑定数据库,然后在修改为另外一个数据库,发现并没有清除掉cache,导致一直都读取第一个数据库

2. 解决方法(应该在绑定的时候清楚cache,然后DynamicDataSourceContextHolder 也应该删除相应的map)

3.


二、你期待的结果是什么?实际看到的又是什么?


三、你正在使用的是什么产品,什么版本?在什么操作系统上?


四、请提供详细的错误堆栈信息,这很重要。


五、若有更多详细信息,请在下面提供。

1条回答
  • 这不是bug,系统就是这么设计的。

    租户数据库一旦设定好,在生产环境怎么可能突然切数据库?那这样系统会出严重问题。

    所以配置好数据库后,一旦访问就会缓存下来,就算在线误操作重新配置了数据库也是不会生效的,这样就可以保证系统的稳定性。后续如果真的要切数据库,也是需要做数据迁移的,等数据迁移结束,重启服务后缓存自然就更新了。

    至于想自己随时修改切换数据库而不顾之前产生的生产数据,可以自己修改,反正也很简单,但因此产生的风险就大了,自己考虑好。

    0 讨论(0)
提交回复