SaaS多租户体系建筑设计分析(实践)

随商电商系统2021-09-07 13:10:20电商资讯

SaaS建筑必须。

1.首先,仔细选择最适合应用需求的租户模型。

2.最终的架构应该根据租户模型来选择,即应用程序设计和管理、每个租户的数据如何映射到存储等等。

避免因为租户模式的切换而付出高昂的代价。

租户模型-应用程序设计数据设计方案。

影响租户模式的相关因素包括:

可伸缩性(伸缩性)。

租户数量级;

每个租户的存储级别;

整体存储;

工作量;

租户隔离(租户隔离)。

数据隔离和性能(一个租户的负载是否会影响其他租户);

每租户成本(每租户成本)

数据库成本;

开发复杂性(开发复杂性)。

数据结构的变化;

查询的变更;

运营复杂性(运营复杂性)。

绩效监控;

数据结构的模式管理;

租户数据恢复;

备灾;

定制程度(可定制性)

根据租户的需求定制架构的便利性;

这个租户的讨论集中在数据层。但是想想应用层。应用层被视为一个整体。如果您的应用程序被分成许多小组件,您对租户模型的选择可能会改变。对于租户和存储技术或平面台,您可以区别对待其他组件。

有几种常见的架构模式:

在该模型中,中,应用层和数据层是隔离的。

应用程序的每个实例都是独立的实例。

租户有自己独立的数据库,每个应用实例只需要一个数据库。

租户的管理独立于系统。对于每个租户,需要重复安装整个应用程序。供应商可以为租户管理软件。每个应用程序实例都配置为连接到其对应的数据库。

优点:

为不同租户提供独立的应用实例和数据库将有助于简化数据模型和业务模型的扩展设计,并满足不同租户的独特需求。出现故障时,恢复系统或数据相对简单,系统之间不会相互影响。

问题:

在数据库级别,每个租户数据库都部署为独立的数据库。该模型提供了最大程度的数据库隔离。但是,隔离需要为每个数据库分配足够的资源来处理其峰值负载。这里重要的是,弹性池不能用于部署在不同资源组或不同订阅中的数据库。这一限制使得这种独立的单租户应用程序模型从整体数据库成本的角度来看是最昂贵的解决方案。在应用层面,如果每个租户都有个性化定制,项目需要横向扩展,扩展时必须保证与骨干版本的兼容性。

在运营和维护层面,安装的应用程序和数据库数量将随着租户数量的增加而线性增加,这将导致维护成本和购置成本的增加。

在这个中,模型中,应用层是共享的,数据层是隔离的。

只部署了一个应用程序,所有租户实例共享该应用程序。

租户仍然有自己独立的数据库,应用程序需要与多个租户的数据库接口。

租户的管理由中,配置公司管理,该公司提供配置、监控和管理共享所需的功能。供应商使用这些工具为租户管理软件。对于每个租户,整个应用程序只需要安装一次,应用程序实际上会结合配置中请求相应的数据库

优点:

为不同的租户提供独立的数据库将有助于简化数据模型扩展的设计,并满足不同租户的独特需求。发生故障时,数据恢复相对简单,单个租户可以自动恢复到更早的时间点。因为只需要恢复存储租户的一个单租户数据库。这种恢复对其他租户没有影响,这证明管理操作是在每个租户的细粒度级别进行的。降低了应用程序级别的维护成本和采购成本。

问题:

数据库级,与模型1相同;在应用层面,如果每个租户都有个性化定制,项目需要横向扩展,扩展时必须保证与骨干版本的兼容性。在运维层面,数据库的运维与模式1相同,而应用层面的运维在版本控制上难度更大。

在这个模型中,中,应用层是共享的,数据库是共享的,但是数据是隔离的。

只部署了一组应用程序和数据库,由所有租户共享。

或者所有租户共享数据库,也就是说,他们共享一个数据库,但是每个租户都有一个Schema(也可以称为用户),并使用表来隔离数据库。例如,底层库是DB2、ORACLE等。一个数据库下可以有多个SCHEMA。

应用程序需要对接多个租户的数据库。

租户的管理由配置中服务器管理,与模式2相同。

优点:

它为安全性要求较高的租户提供了一定程度的逻辑数据隔离,但不是完全隔离;每个数据库可以支持更多的租户。

问题:

在数据库层面,如果出现故障,很难恢复数据,因为数据库的恢复会涉及到其他租户的数据。在应用程序层面,中的分配要求完整合理地分配和维护租户信息。

模型3和模型3的区别在于共享数据库、模式和数据表。也就是说,一个数据库和一个表用于数据隔离。例如,将TenantID多租户的数据字段添加到表中中这是共享程度最高、隔离级别最低的模式。

简单来说,每次插入一条数据,都需要一个客户ID。这样,不同客户的数据可以在中,的同一个表中进行区分,这也是我们的系统目前使用的(租户_id)。

优点:

该方案的维护和购置成本较低,允许每个数据库支持最多数量的租户。

缺点:

隔离级别最低,安全性最低,所以在设计开发时需要增加安全开发量。数据的备份和恢复是最困难的,需要逐表备份和恢复。

模式5与之前模式最大的区别在于,将原来的web Service精细拆分优化为网关之前的台, 中和台的数据存储模式。

网关用于接收租户的请求并将其发送到前台

前台人数与租客人数一致,每个租客对应一个前台服务,方便租客个性化定制。

台负责提供和处理所有业务请求,而台,中不关心租户是谁,而是专注于业务处理。配置中用于配置租户的接口权限、流程定制和其他相关配置信息。结合业务逻辑,相关信息返回给前台的特定租户

数据库参考模式4。

优点:

定制不同租户的个人需求是有益的。比如不同的交互界面,不同的工作流程等等。

服务只需根据前台用户的需求进行横向扩展

不同租户之间的服务是独立的,互不影响。

缺点:

模块划分需要做好划分,重点关注服务之间的低耦合;

呼叫链路变长,需要优化。

模块垂直拆分后,后期研发和运维的难度会增加。


随商信息技术(上海)有限公司 b2b2c多用户商城系统是基于PHP技术的企业级电子商务平台系统,系统支持平台自营、招商加盟和多商家入驻、集成微信商城、移动端APP商城、微信小程序于一体。公司主营业务包含商城系统定制开发、新零售系统解决方案、电商平台系统定制开发、商城网站建设服务等等,随商为大、中、小企业提供一个安全、高效、强大的电子商务解决方案,协助企业快速构建、部署和管理其电子商务平台,拓展企业销售渠道,致力于推动PHP技术和电子商务行业的发展而不断努力。

文章关键词  
多商户商城系统
多商家商城系统
多商城系统

除了供应标准网上商城系统之外,我们还开源商城源码,为您提供电商平台开发定制服务

随商全新版PHP企业级电商平台系统,以客户需求为己任,提供免费网店系统源码给用户体验,为国内客户特别是上海周边客户提供电商平台及网上商城网站建设服务,您的商城开发建站需求,我们来实现!

网上商城建站
包含微信商城网站建设及小程序商城建设等一站式电商系统建站服务,java商城php商城 两种语言。
APP开发
提供APP商城开发,包含Android App 、iOS App等等, 原生APP品质
手机商城开发
提供APP商城、微信商、小程序、手机H5商城搭建及二次开发
电商平台开发
作为电子商务系统提供商,以自研的商城模板为企业提供专业的电商平台系统搭建服务

马上搭建自己的电商平台