什么是多租户,什么是SaaS平台,多租户开发框架脚手架
发布于 2021-10-16 14:37
SaaS模式是什么?
传统的软件模式是在开发出软件产品后,需要去客户现场进行实施,通常部署在局域网,这样开发、部署及维护的成本都是比较高的。
现在随着云服务技术的蓬勃发展,就出现了SaaS模式。
所谓SaaS模式即是把产品部署在云服务器上,从前的客户变成了“租户”,我们按照功能和租用时间对租户进行收费。
这样的好处是,用户可以按自己的需求来购买功能和时间,同时自己不需要维护服务器。
多租户技术:
多租户技术(Multi-TenancyTechnology)又称多重租赁技术:是一种软件架构技术,是实现如何在多用户环境下(此处的多用户一般是面向企业用户)共用相同的系统或程序组件,并且可确保各用户间数据的隔离性。
简单讲:在一台服务器上运行单个应用实例,它为多个租户(客户)提供服务。从定义中我们可以理解:多租户是一种架构,目的是为了让多用户环境下使用同一套程序,且保证用户间数据隔离。那么重点就很浅显易懂了,多租户的重点就是同一套程序下实现多用户数据的隔离。
多租户的数据库方案:
目前基于多租户的数据库设计方案通常有如下三种:
1、独立数据库
每个租户一个数据库。
优点:为不同的租户提供独立的数据库,有助于简化数据模型的扩展设计,满足不同租户的独特需求;如果出现故障,恢复数据比较简单。
缺点:增多了数据库的安装数量,随之带来维护成本和购置成本的增加这种方案与传统的一个客户、一套数据、一套部署类似,差别只在于软件统一部署在运营商那里。
由此可见此方案用户数据隔离级别最高,安全性最好,但是成本较高。
2、共享数据库、独立 Schema
即多个或所有的租户使用同一个数据库服务(如常见的ORACLE或MYSQL数据库),但是每个租户一个Schema。
优点:为安全性要求较高的租户提供了一定程度的逻辑数据隔离,并不是完全隔离;每个数据库可支持更多的租户数量。
缺点:如果出现故障,数据恢复比较困难,因为恢复数据库将牵涉到其他租户的数据;如果需要跨租户统计数据,存在一定困难。
这种方案是方案一的变种。只需要安装一份数据库服务,通过不同的Schema对不同租户的数据进行隔离。由于数据库服务是共享的,所以成本相对低廉。
3、共享数据库、共享数据表
即租户共享同一个Database,同一套数据库表(所有租户的数据都存放在一个数据库的同一套表中)。在表中增加租户ID等租户标志字段,表明该记录是属于哪个租户的。
优点:所有租户使用同一套数据库,所以成本低廉。
缺点:隔离级别最低,安全性最低,需要在设计开发时加大对安全的开发量,数据备份和恢复最困难。
这种方案和基于传统应用的数据库设计并没有任何区别,但是由于所有租户使用相同的数据库表,所以需要做好对每个租户数据的隔离安全性处理,这就增加了系统设计和数据管理方面的复杂程度。
SaaS 多租户开发框架脚手架
1、若依ruoyi的扩展项目:
(1)基于RuoYi-Vue扩展,支持多租户:
https://gitee.com/leslie8195/ruo-yi-vue-multi-tenant
(2)基于RuoYi-Vue-Plus集成多租户功能
https://gitee.com/lingdeng/RuoYi-Vue-Plus
2、Guns开发脚手架企业版,SaaS多租户插件:
https://www.stylefeng.cn/contents/plugins/detail/40_saas.html
3、renren的多租户版本:
https://www.renren.io/
4、Jeesite 4.x中的多租户使用:
https://jeesite.com/docs/saas-corp-use/
5、pig的商业版本pigx:
pigx.pig4cloud.com
分享Java项目
探索好玩的产品
本文来自网络或网友投稿,如有侵犯您的权益,请发邮件至:aisoutu@outlook.com 我们将第一时间删除。
相关素材