<返回更多

多租户架构

2021-04-12  今日头条  闻数起舞
加入收藏

软件设计师的库

内容

1.简介

在多租户环境中,多个客户(租户)共享相同的应用程序,它们在相同的操作系统上,相同的硬件上以相同的数据存储机制运行。客户之间的区别是在应用程序设计期间实现的。客户不会共享或看到彼此的数据。与每个用户都有自己专用环境的专用系统相比,这样做的主要动机是降低每位用户的成本。

多租户架构

 

> In a multi-tenant Application, most of the software stacks — up until the application itself, — are shared by the different tenants.

软件即服务(SaaS)应用程序经常使用多租户。SaaS的本质归结为以下事实:供应商开发软件,将其放置在服务器上,维持其性能,安全性,客户可用性(通常为复数形式),支付服务器费用和其他费用。对于客户而言,这种方法更便宜,而对于卖方而言则是值得的(因为它解决了许可和盗版问题,而且最重要的是,可以为多个客户提供一项服务)。

2.单租户vs多租户

2.1单租户

该软件和支持基础结构的单个实例为单个客户提供服务。通过单一租赁,每个客户都有自己的独立数据库和软件实例。本质上,此选项不会发生共享。

2.2多租户

多租户意味着该软件及其支持基础结构的单个实例为多个客户提供服务。每个客户共享该软件应用程序,还共享一个数据库。每个租户的数据都是孤立的,其他租户看不到。

多租户架构

> Single-Tenant and Multi-Tenant architectures comparison

3.数据库和多租户

3.1一个通用数据库,一个通用模式

一切都存储在一个数据库和公用表中。要实现此选项,先决条件是引入一个附加的字段TenantID(或您喜欢的CustomerID)以分隔客户之间的信息。

好处:

缺点:

解析度:

如果您有很多客户并且缺乏资金/服务器,并且所有硬盘驱动器不会同时消失,那么这是个不错的选择。

3.2一个通用的数据库,不同的模式

来自不同客户端的信息存储在不同的表中。模式是包含某些资源(例如表)的“命名空间”,可以在其上授予某些权限。

好处:

缺点:

解析度:

如果客户准备好生活在共享环境中,则选择均衡的方案。

3.3分开的数据库

代码在客户端之间共享(使用通用的UI和业务逻辑),数据在逻辑上(可能物理上)在客户端之间共享。

好处:

缺点:

解析度:

对于主要目标是安全性且愿意付款的客户(例如银行),这是最佳解决方案。

4.实际例子

多租户架构

> Serverless single database multi-tenant architecture on google Cloud

 5.优势

6.缺点

7.用例

8.总结

 

(本文由闻数起舞翻译自Lokajit Tikayatray的文章《Multi-Tenant Architecture》,转载请注明出处,

原文链接:https://levelup.gitconnected.com/multi-tenant-architecture-8c1f597e069c)

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>