多租户系统如何设计

phynos 发布于 06/15 09:27
阅读 3K+
收藏 13

开源软件供应链点亮计划,等你来!>>>

对于多租户系统,目前业界有哪些成熟的方案,据我所知,从隔离角度来看,有以下实现:

1-字段隔离

优点:简单,只需要数据库加个字段就行

缺点:数据没有进行隔离,会相互影响;写代码也很麻烦,需要考虑租户问题(有中间件帮忙)

2-数据库隔离

优点:数据隔离,安全,互不影响

缺点:代码还是要考虑租户问题,而且数据库太多连接也太多,资源占用大

3-使用docker隔离

优点:开发不用考虑租户问题

缺点:部署麻烦,租户之间难以交互

 

以上是我的认知,不知道目前业界有没有更成熟的方案,望指教

以下是问题补充:

@phynos:能够符合下面的要求最好: 1-开发人员不需要编写租户相关的代码,更不需要指定租户的存在。 这样能大大降低开发难度,且稳定性好 2-最好是数据库分离(支持scheme分离和物理分离),对于scheme分离支持共用连接池(小客户),大客户使用物理分离 3-支持在线动态新增租户,一般不需要运维人员参与;只有在需要新增物理机的情况下,才需要运维人员支持 4-租户使用二级域名 (06/22 19:00)
加载中
1
王春生
王春生
我们目前使用的是数据库隔离
0
kakai
kakai

不知和商城系统中多店铺模式有啥区别没?

phynos
phynos
有一定的区别 店铺系统是商品各自独立,但是用户是共同的 多租户则是相互之间完全独立,各自拥有独立的用户、独立的商品、独立的财务系统,租户之间互相不知道对方存在
0
tiliti
tiliti
基于容器隔离是最佳方案,用k8s加helm实现,很方便。
yongk
yongk
容器怎么隔离?使用容器最终到数据库层面也不是要通过字段或者schema或者库隔离的吗?
phynos
phynos
K8S过于复杂,一般公司搞不定也无力运营
0
吃饼青年
吃饼青年

我们以前是使用MyCat分库

0
金拱门
金拱门

前两个方案我都用过。

第一个方案只合适平台型的开发。如果你搞私有服务,代码迭代很麻烦的。

第二个方案只需要抽离数据库模块,动态隔离即可。唯一不好就是服务器迁移配置比较多,容易出错。

第三个方案我也考虑过,但是我没多少钱,搞不起docker。我觉得有钱用第三个方案会更加好。我买主流的docker服务,自己维护容器即可。客户那边怎样操作我都不用动代码逻辑了。省事。

0
久永
久永
该评论暂时无法显示,详情咨询 QQ 群:912889742
0
cullenx
cullenx

这个文章是提问帖?

phynos
phynos
是的,探讨下,我也很迷茫,想看下有没有经验的人
0
ExtremeTalk
ExtremeTalk
该评论暂时无法显示,详情咨询 QQ 群:912889742
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部