关于多租户管理架构设计

七里香的编程之路 发布于 2020/06/05 13:48
阅读 7K+
收藏 35

【深圳】源创会:5.26下午、轰趴馆等你”

目前公司的框架是有多租户的(SpringClodu技术栈),有一个子站是专门用来配置多租户的,数据隔离采用的是 共享同一个Database、同一个Schema 和 不同的租户也可以配置不同的数据源。

现在的问题是租户只能查看自己租户的数据。 但是领导给的需求是要有一个顶级管理员,可以查看所有租户的数据。 租户也可以分类。 领导说要在现有框架的基础上做出修改,出个概要设计, 可是想破脑袋也不知道怎么搞 ,求各位大神支个招。

加载中
2
coola
coola

简单粗暴解决方案:再建一个子站(微服务),这个子站中不做租户字段拦截

1
华夏第一帅神
华夏第一帅神
同步出来一个数仓之类的数据库,然后数据从新库去查。跟我们的boss权限差不多
华夏第一帅神
华夏第一帅神
回复 @七里香的编程之路 : 数据同步方案就很多了, 比如 Spoon ETL的工具, DataX阿里的数据同步异构工具,还可以自己进行编写,可以使用spring batch 和 xxl-job之类的
七里香的编程之路
怎么同步的
0
画面
画面

我使用 mybatisplus的 多租户配置。  原理就是增删改查 加一个查询条件和set 租户字段

七里香的编程之路
回复 @画面 : 大佬, 还有个情况是 不同的租户给配了不同的数据源, 那这种情况,怎么查看所有的数据 ?
画面
画面
回复 @七里香的编程之路 : if(超级管理员的租户id 为 -1), 就不拼查询条件。 就查到所有数据了
七里香的编程之路
那如何实现一个超级管理员查看所有租户数据的
0
没有脖子bogy
没有脖子bogy

你缺的是一个数据库中间件

 

七里香的编程之路
回复 @白羊9999 : 比如说用什么数据库中间件
七里香的编程之路
比如说用什么数据库中间件
白羊9999
白羊9999
此法正解
0
闲大赋
闲大赋

直接告诉领导,不能实现,需要一个新的数据源,比如apache drill,或者facebook的presto db,来统一这些数据源

zqq90
zqq90
有必要搞这么复杂?就为了管理员账号?
0
muku
muku

最简单的方法是在现有的表上多加一个 租户字段

0
鬼面书生灬
鬼面书生灬

简单,一种是分库;另外一种是标志位。

0
JRoger_
JRoger_

引用来自“华夏第一帅神”的评论

同步出来一个数仓之类的数据库,然后数据从新库去查。跟我们的boss权限差不多

思路是这样的,再有就是大数据方案。方法还是很多的

JRoger_
JRoger_
回复 @七里香的编程之路 : 我看上面有人说了比较快速能落地的方法。就是用同步,将所有租户的数据同步到另外一个库。最后你的看所有租户信息的报表从这个库里面查询。大数据的方案,也是得在此基础之上。
七里香的编程之路
大数据的方案大概是咋弄 ?
0
Holt_Vong
Holt_Vong

超管要查看其他租户,加一个租户切换啊,每次切租户,就只看当前租户的数据

七里香的编程之路
租户咋切换的 。 不同的租户也可能有不同的数据源
0
lxbzmy
lxbzmy

引用来自“coola”的评论

简单粗暴解决方案:再建一个子站(微服务),这个子站中不做租户字段拦截

单独建个程序来处理

不然容易出BUG。

OSCHINA
登录后可查看更多优质内容
返回顶部
顶部