想问下,对于多商户的后台系统的数据库和结构如何设计?

2020-12-17 21:36:26 +08:00
 phpxiaowangzi

如题,最近公司有一个多商户的后台系统,大概有将近 1000 个商户,我现在的思路是因为每个商户可能都需要一个独立的权限管理功能,所以开通一个商户我就创建涉及到权限管理的数据表 privilege_node_abc,privilege_role_abc,privilege_user_abc,然后每个商户包括商户创建的人员做一个关联表,可以找到对应结尾 abc 的属于自己商户的表去进行操作,然后登陆的时候去这个关联表找到是否有信息,有就操作关联的表,不知道各位大佬有没有更好的办法,我总感觉这个设计有问题,求大佬们指教。

2440 次点击
所在节点    程序员
7 条回复
shuang
2020-12-17 21:47:39 +08:00
只需要一张表即可,每张表里都有个字段表示是哪个商户。
多商户的系统不要一个商户一张表,大商户小商户的数据量也不均匀,接入的商户多了表的数量会爆炸的。
opengps
2020-12-17 21:49:21 +08:00
几乎所有表都增加一个商户 id 字段,几乎所有查询都强制带上 where 商户 id='xxxx'
toesbieya
2020-12-17 22:07:07 +08:00
每个商户一个库
xuanbg
2020-12-17 22:50:08 +08:00
Kirsk
2020-12-17 23:55:41 +08:00
用户授权入口(单点登录)+网关+服务 按服务切分数据 模块化 俗称 微服务
zh5e
2020-12-18 09:12:57 +08:00
@toesbieya 分库能数据隔离,但是运维成本增加,怎么选择 lol
mitsuizzz
2020-12-18 11:29:28 +08:00
直接 mybatis-plus 写一个自己的租户拦截器,就大功告成了, 每个商户 不同租户 ,看文档就行

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/736550

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX