当前位置:首页 > 技术积累 > 正文内容

云平台多租户系统的设计方案

竹林之风5年前 (2019-08-24)技术积累4859

        多租户(Multi Tenancy)是指在一个云平台上,多个不同的客户共用相同的平台和架构但又相互独立并对各自的用户提供服务。多租户相同有4个特点:①共用平台和架构;②相互独立;③数据隔离;④对外表现为使用不同的子域名但页面形式一致;⑤由平台统一管理。在数据库和应用程序层面上,有如下3种解决方案:

(1)数据库物理隔离、应用程序物理隔离:各客户使用独立的数据库和应用程序。优点:各客户的数据和程序绝对隔离互不影响。缺点:①部署复杂,每新增一个客户就要重建一个新的数据库和应用程序,比较冗余且占用多余存储空间;②升级麻烦,每当数据库和应用程序需要升级时,得为每一个客户一一升级;③配置繁琐,得为每一个客户一一配置,如配置数据库、绑定域名等。适用:小量客户。

(2)数据库物理隔离、共用应用程序:各客户使用独立的数据库,但使用相同的应用程序。优点:①各客户的数据绝对隔离互不影响;②应用程序部署、升级和配置简单。缺点:①数据库部署复杂,每新增一个客户就要重建一个新的数据库;②数据库升级麻烦,每当数据库需要升级时,得为每一个客户一一升级;③数据库配置繁琐;④绑定泛域名需要程序根据子域名自动匹配对应的客户;⑤需要根据子域名自动确定访问哪个数据库。适用:中小量客户。

(3)共用数据库和应用程序:各客户使用相同的数据库和应用程序。优点:①各客户共用所有应用程序和数据库,只需部署一次、配置一次;②升级简单;③数据逻辑隔离。缺点:①程序中实现数据的逻辑隔离较繁琐;②绑定泛域名需要程序根据子域名自动匹配对应的客户。适用:大量客户。


扫描二维码推送至手机访问。

版权声明:本文由久爱编程网发布,如需转载请注明出处。

本文链接:https://www.9icode.com/index.php/post/39.html

分享给朋友:

相关文章

可迁移数据库的基本命名和实施规范

可迁移数据库的基本命名和实施规范

前言        数据库管理系统(DBMS)是各类信息系统的核心组成部分,常用的关系数据库系统(RDBMS)有SQLite、SQL Server、MySQL、...

Java相关的一些名词

Java相关的一些名词

Java语言:一种程序设计语言,版本号从1.0到1.4,从1.5起版本号变更为5、6、……;JDK版本号、Java平台版本号类同。Java平台:1998年12月发布JDK 1.2后,Java从与平台无关的语言变成Java 2平台,分为三个版...

通用基础表逻辑设计(三)——功能权限

通用基础表逻辑设计(三)——功能权限

概述        在一个应用系统中有多个用户,用户通常分为多种角色,每种角色的用户能够访问的页面、能够查看的数据或者能够执行的操作等各有不同,因此需要设计与实...

在ASP.NET Core下使用Scaffold-DbContext命令自动从数据库生成EF Core模型

在ASP.NET Core下使用Scaffold-DbContext命令自动从数据库生成EF Core模型

        在ASP.NET Core下使用EF Core读取和操作数据库时,若采用DB First开发模式,则需要手动写或者自动生成相关实体类和DBCon...

ASP.NET中报“无法在已发送HTTP标头之后进行重定向”异常问题解决

ASP.NET中报“无法在已发送HTTP标头之后进行重定向”异常问题解决

        ASP.NET中报“无法在已发送HTTP标头之后进行重定向”异常时,其中一个原因是:在已经重定向后又重定向。在ASP.NET中实现重定向有以下几...

ASP.NET中报“无法在已发送HTTP标头之后设置状态”异常问题解决

ASP.NET中报“无法在已发送HTTP标头之后设置状态”异常问题解决

        ASP.NET中报“无法在已发送HTTP标头之后设置状态”异常,是因为设置Response的StatusCode之前,程序已设置响应标头。可从以...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。