主页>技术知识>详情

多租户系统如何设计

villain/2022-02-23/97阅读 /0评论
多租户系统如何设计简介:对于多租户系统,目前业界有哪些成熟的方案,据我所知,从隔离角度来看,有以下实现: 1-字段隔离 优点:简单,只需要数据库加个字段就行 缺点:数据没有进行隔离,会相互影响;写代码也很麻烦,需要考虑

多租户系统如何设计

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

1-字段隔离

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

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

2-数据库隔离

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

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

3-使用docker隔离

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

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

 

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


解决方法:我们目前使用的是数据库隔离

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


有一定的区别 店铺系统是商品各自独立,但是用户是共同的 多租户则是相互之间完全独立,各自拥有独立的用户、独立的商品、独立的财务系统,租户之间互相不知道对方存在

 


基于容器隔离是最佳方案,用k8s加helm实现,很方便。
容器怎么隔离?使用容器最终到数据库层面也不是要通过字段或者schema或者库隔离的吗?
K8S过于复杂,一般公司搞不定也无力运营

我们以前是使用MyCat分库


数据库隔离


前两个方案我都用过。

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

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

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


这个文章是提问帖?


是的,探讨下,我也很迷茫,想看下有没有经验的人
本文用户投稿或网站收集转载,如有侵权请联系本站。