什么是多租户,什么是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项目

探索好玩的产品

java项目库
分享Java项目,软件开发,APP,,互联网,探索好玩的产品。
14篇原创内容

本文来自网络或网友投稿,如有侵犯您的权益,请发邮件至:aisoutu@outlook.com 我们将第一时间删除。

相关素材