现在BladeX应该是以共享数据库,共享数据架构的方式实现SAAS系统的,想用Spring AOP或者Mybatis-plus指向配置库方式重构为独立数据库实现,请给出重构思路建议,谢谢
借助数据库中间件来动态指向对应的数据源,推荐使用sharding-sphere。需要写一套逻辑,根据租户信息来判断指向哪个数据源
研究了sharding-sphere,但是基于现在bladex的逻辑是管理组000000是可以管理所有租户的,所以角色,菜单等数据似乎应该还是按现在的逻辑都在一个总库里。
我准备扩展一个字段tenant_no,去做租户的业务信息分库,而现有的bladex的租户管理逻辑我不会变,相当于系统信息数据就放总库里(包括新建角色,分配权限,
新建用户等等),业务数据根据tenant_no自动由sharding-spher去分库,请教这个思路是否可行?
可以租户信息和数据库名称匹配。动态加载数据库url。比如替换关键字
{dataSource-id}
等。
扫一扫访问 Blade技术社区 移动端