boot版本多租户问题,公共库,业务库 这些如何实现

Blade 未结 1 616
橙柒
橙柒 剑圣 2022-03-18 10:31

boot 版本   我们自己这边 有一个主库管理所有的主户和做一些公共配置,  一个租户一个数据库,我们能看到客户的数据,客户只能看他们自己数据库中的数据, 用户权限,角色,那些基础功能可以使用公共的,也可做自己的私有化, 这个能实现吗?如何做?


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

1.  多个租户配置不同的数据源,用超级管理员账户发一条公告,其他租户都能收到这条公告。

2. 机构,角色 数据如何做成通用的 , 也可以私人配置


1条回答
  • 2022-03-19 00:13

     1.  要公告表数据库隔离的同时,让超管发一条信息全部能看到,这种情况有两种做法,一种是主动推(从配置库查到所有数据库隔离的数据库信息,循环一下进行数据插入,这样不同租户就能实时看到信息了。但后续的删除、修改也要同步修改),一种是被动收(超管发送之后开启消息队列,所有租户消费一次并把数据存入数据库,并且后续的删除、修改也要同步修改)。

    如此看来,这种模式是多么的不方便,还不如公告表共用,省事省心。


     2. 系统管理模块用到的库是统一的,不能私有化,否则带来的问题就是数据库A修改了,需要把数据同步到数据库B、C、D等等,会很麻烦。

    现在的系统库作用等同于统一管理平台,把租户的最基本的数据统一起来管理,是不能私有化的。

    作者追问:2022-03-21 09:13

    A租户配置的是A数据源,B租户配置的是B数据源, B租户修改自己的数据库中的管理数据,  会更新A租户的数据库吗?

    0 讨论(0)
提交回复