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

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

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

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

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

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

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

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

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

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

分享给朋友:

相关文章

在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之前,程序已设置响应标头。可从以...

ASP.NET网站自定义错误处理及其它安全相关

ASP.NET网站自定义错误处理及其它安全相关

        ASP.NET网站在运行过程中总是有可能报错,例如404等HTTP错误、500等程序异常。在IIS托管并报错的情况下,网站的默认行为依次是:(1).NET运行时接收并处理的部分显示.N...

从被扫描记录看网站安全应该注意的一些细节

从被扫描记录看网站安全应该注意的一些细节

1、尽可能地隐藏服务器真实IP,减少攻击目标。例如使用负载均衡、网关等作为门户,由负载均衡或网关转发到后端服务器。2、服务器必须开放的服务(除HTTP、HTTPS等为公众开放的服务外),尽可能改为其它较大的不常用的端口号,这样攻击者需要扫描...

ASP.NET MVC WebApi控制器方法使用async假死超时问题

ASP.NET MVC WebApi控制器方法使用async假死超时问题

        在一个ASP.NET MVC WebApi控制器方法中使用async标记为异步方法后,有时会假死超时。根本原因是同步方法和异步方法混合造成的死锁...

发表评论

访客

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