saas中多租户数据架构是什么(什么是多租户saas 架构)

SaaS

SaaS,Software-as-a-Service的缩写,软件即服务,通过网络提供软件服务,通俗的说就是“租软件”。

软件产品的服务对象大致可以分为两类:To B,To Business,面向企业;To C,To Customer,面向个人消费者。To B的范围很大,SaaS只是To B中的一个类别。

单租户和多租户

多租户是,多个人租一套房子,每个人拥有一个房间;单租户是,一个人租一套房子,无须与其他人共享房间。

单租户SaaS架构中,每个客户都会有独立的软件和硬件环境支撑系统运行,每个数据库仅存储来自一个租户的数据,因此,单租户模式通常也被称为多实例架构(Multiple Instance),而多租户架构也被称为单实例架构(Single Instance)。

多租户技术或称多重租赁技术,是一种软件架构技术,是实现如何在多用户环境下共用相同的系统或程序组件,并且可确保各用户间数据的隔离性。

多租户(Multi Tenancy/Tenant)是一种软件架构,其定义是:在一台服务器上运行单个应用实例,为多个租户提供服务。

常见的几种架构模式

独立服务+独立数据库

应用层和数据层都是隔离的,租户拥有自己独立的数据库,每个应用程序实例只需要一个数据库。

一套服务+独立数据库

应用层是共享的,数据层都是隔离的,应用程序仅部署一套,所有租户实例共享。

一套服务+一套数据库(不同schema)

应用层是共享的,数据库共享,但数据是隔离的,应用程序和数据库仅部署一套,所有租户共享。

一套服务+一套数据库(相同schema)

应用层是共享的,数据库共享,Schema共享,数据表共享。表中增加TenantID多租户的数据字段,这是共享程度最高、隔离级别最低的模式。

网关+前台+中台+数据存储

网关用于接收租户的请求,并发送给前台。前台的数量与租户一致,每一个租户对应一个前台服务,方便针对租户进行个性化定制。中台负责提供处理所有的业务请求,中台不关心租户是谁,将重心关注在业务的处理上。配置中心用于配置租户的接口权限、流程定制等相关配置信息。结合业务逻辑返回给前台特定租户的相关信息。