SaaS 系统的应用与架构

来源:csdn博客 分类: 文章浏览史 发布时间:2022-09-17 13:41:05 最后更新:2022-09-17 浏览:408
转载声明:
本文为摘录自“csdn博客”,版权归原作者所有。
温馨提示:
为了更好的体验,请点击原文链接进行浏览
摘录时间:
2022-09-17 13:41:05

一、SAAS 系统应用场景


SaaS 应用近几年来越来越火,这主要得益于国内云计算设施的发展 —— 我们开发应用所需要的硬件计算资源、存储资源和网络资源等。企业建设应用或平台不用再像以前那样先采购服务器,然后建立自己的机房或者将服务器托管了,仅需在华为、阿里或腾讯等云服务商那里购买云服务器即可,这些资源的使用及付费已经做到像交水费及电费那样简单,而现在唯一的问题是应该考虑如何在这些云计算资源上构建我们需要的企业应用。

在传统应用上,我们开发的每个应用均是服务于一家企业或单位,我们可以把它称之为私有云。而在如今互联 +、物联网 + 的模式下,时代对我们提出了更高的要求:一套系统可服务多个企业或者一个企业及旗下的所有子公司,且其业务可以随时分割,如:

1. 案例一:
省区要开发一个云医疗数据集中采集平台,需要每家市区、县区医院定期上报数据及对其自身的数据进行统计,同时平台的各个管理员(省区管理员、市区管理员、县区管理员)可以对其管辖内的所有医院的数据进行汇总及统计。


2. 案例二:
企业要开发一个 ERP 系统给他的客户使用,他的每个客户需要独立管理自己的商品、库存、会员,账户、订单、活动、消费、积分、账单、消息通知等数据。


3. 案例三:
企业要开发一个 SaaS 云平台,上面有各种应用:EMS、OA、OMS、TMS、档案系统、KMS(知识管理系统)等等,他的客户可以根据自己的需要选购一个或多个应用使用。

以上的应用场景都可以用 SAAS 模式来实现,同时对于传统旧的应用,我们可以用单个租户模式来实现即可。这种模式我们称之为云应用,如果把这种模式面向公网进行租户注册使用,我们即称之为公有云。

其实,SaaS 云应用还可适用以下的应用场景:
➢ 私有化部署,全公司共用所有业务;
➢ 多个部门登录,各自管理不同的业务;
➢ 集团内存在多个分公司,各个分公司自行管理自己的业务;
➢ 每个分公司需要有独立的数据管理;
➢ 集团或总公司需要集中管理数据
➢ 按不同子系统管理不同的业务,授权不同子公司或部门使用;
 


二、SAAS 应用的存储模式


1. 方案一
独立数据库:即一个租户一个数据库 (Database),这种方案的用户数据隔离级别最高,安全性最好,但成本也高。
优点:
➢ 为不同的租户提供独立的数据库,有助于简化数据模型的扩展设计,满足不同租户的独特需求;
➢ 如果出现故障,恢复数据比较简单。
缺点:
➢ 增大了数据库的安装数量,随之带来维护成本和购置成本的增加。如果面对的是银行、医院等需要非常高数据隔离级别的租户,可以选择这种模式,提高租用的定价。如果定价较低,产品走低价路线,建议使用方案二。

2. 方案二
共享数据库,隔离数据架构:这是第二种方案,即多个或所有租户共享 Database,但一个 Tenant 一个 Schema。
优点:
➢ 为安全性要求较高的租户提供了一定程度的逻辑数据隔离,并不是完全隔离;
➢ 每个数据库可以支持更多的租户数量。
缺点:
➢ 如果出现故障,数据恢复比较困难,因为恢复数据库将牵扯到其他租户的数据;

3. 方案三
共享数据库,共享数据架构:这是第三种方案,即租户共享同一个 Database、同一个 Schema,但在表中通过 TenantCode 区分租户的数据。这是共享程度最高、隔离级别最低的模式。
优点:
➢ 三种方案比较,第三种方案的维护和购置成本最低,允许每个数据库支持的租户数量最多。
缺点:
➢ 隔离级别最低,安全性最低,需要在设计开发时加大对安全的开发量;
➢ 数据备份和恢复最困难,需要逐表逐条备份和还原。

在数据为王的时代,Stone SaaS 开发框架同时支持方案一 及 方案二(方案一需要手动创建数据库) 。Stone 是一款带有互联网企业信息化基础管理的 SaaS 平台开发框架,它是基于主流 Spring 架构体现构建,以支持中小企业、大型集团企业、政府单位的日常事务管理。目前,平台提供通用的基础数据交互功能(租户数据隔离、数据权限控制)以及组织架构管理(租户管理、部门管理、功能权限管理)、适合于有 IT 研发能力的企业或向 SaaS 应用运维的 IT 企业。


未来的企业服务一定是 云 + 端 的天下,我们在构建云应用的同时,布局端的应用也显得无比关键,它使得我们开发后续的应用更加灵活与方便,如下图所示,我们未来构建的企业应用均可以基于weiit 之上。

weiit- SaaS 开发框架开源地址:weiit-saas是一款Java开源项目,属于weiit团队自研产品,意在通过技术封装,让企业无需代码开发,帮助企业一键生成小程序、公众号,让企业拥有独立品牌的自营商城。

php技术微信