想修改多租户SAAS方案为独立数据库实现,请给出重构思路建议

Blade 未结 2 3208
davidzhou2005
davidzhou2005 剑童 2019-07-16 12:05

现在BladeX应该是以共享数据库,共享数据架构的方式实现SAAS系统的,想用Spring AOP或者Mybatis-plus指向配置库方式重构为独立数据库实现,请给出重构思路建议,谢谢

2条回答
  • 2019-07-16 12:21

    借助数据库中间件来动态指向对应的数据源,推荐使用sharding-sphere。需要写一套逻辑,根据租户信息来判断指向哪个数据源

    作者追问:2019-07-17 21:19

    研究了sharding-sphere,但是基于现在bladex的逻辑是管理组000000是可以管理所有租户的,所以角色,菜单等数据似乎应该还是按现在的逻辑都在一个总库里。

    我准备扩展一个字段tenant_no,去做租户的业务信息分库,而现有的bladex的租户管理逻辑我不会变,相当于系统信息数据就放总库里(包括新建角色,分配权限,

    新建用户等等),业务数据根据tenant_no自动由sharding-spher去分库,请教这个思路是否可行?

    0 讨论(1)
  • 2019-07-17 14:40

    可以租户信息和数据库名称匹配。动态加载数据库url。比如替换关键字

    {dataSource-id}

    等。

    0 讨论(0)
提交回复