当前位置: 首页 > 知识库问答 >
问题:

Google drive是多租户应用程序的一个好例子吗?

郎建章
2023-03-14

根据定义(维基百科)-租户是一组用户,他们以特定的特权共享对软件实例的公共访问,术语“软件多租户”指的是一种软件体系结构,其中一个软件实例运行在一台服务器上并为多个租户服务。它还指出,对于多租户体系结构,软件应用程序被设计为向每个租户提供实例的专用共享--包括其数据配置、用户管理、租户个人功能和非功能属性。

从定义来看,我理解多租户更多地是从架构的角度出发的,在Google drive的情况下,内部架构可能是未知的。然而,从用户/使用的角度来看,我们是否可以将Google drive或类似的云应用程序称为多租户的完美范例,因为这些应用程序能够为多个客户服务,甚至允许我们在用户之间安全地共享数据?如果是这样的话,那么说任何一个具有单个实例的软件或应用程序允许多个用户并提供数据隔离,称为多租户应用程序(从用户的角度来看)是正确的吗?

共有1个答案

艾成益
2023-03-14

多用户示例:

  • userx@domain1.com使用Google Drive
  • usery@domain1.com使用Google Drive

多租户示例:

    null

正如你提到的,我们可能不知道Google Drive的内部架构,但从用户的角度来看,随着来自多个域/业务实体/公司(即userx@company1.com和usery@company2.com)的用户使用Google的企业解决方案访问同一个应用程序,它可以被认为是一个多租户应用程序。这些域/公司都可以被视为Google Drive的租户。

 类似资料:
  • 我必须在j2ee中开发一个多租户SaaS应用程序,从Iaas和PaaS开始实现三种云模型,我选择了openstack和openshift origin。SaaS应用程序的第一个标准是多租户,我知道有三种方法来实现它——单独的数据库——共享数据库,单独的模式——共享数据库,共享模式。我在这里迷失了方向,因为许多框架,比如ATHENA,ORM,比如hibernate,还有TOPLINK。我需要帮助了解

  • 我已经安装了keycloak-angular包,我使用它的方式如下:https://www.npmjs.com/package/keycloak-angular 问题是,在我的应用程序中,我希望有多租户。这意味着在应用程序加载期间不知道领域名。 在说明中,它说“KeycloakService应该在应用程序加载期间使用APP_INITIALIZER标记初始化”,问题是该领域是由用户给定的,在应用程序

  • 我正在学习多租户应用程序,以及如何使用PostgreSQL的模式来实现这一点。 在研究这个主题时,我发现了一篇文章,作者描述了在多租户应用程序中使用PostgreSQL模式时的糟糕体验。主要问题是迁移性能差和数据库资源使用率高。 似乎只有一个模式(在租户之间共享表)会比每个租户有一个单独的模式带来更好的性能。但我觉得很奇怪。我的想法正好相反,因为较小表上的索引往往比较大表上的索引轻。 为什么在许多

  • 我正在使用Java、Spring、Struts2和Hibernate设计一个多租户SaaS Web应用程序。经过一些研究,我选择在共享数据库、共享模式、共享表的方法中实现多租户。并用tenantid标记每个db行。 我已经重写了我的应用程序,所以管理者和DAO将把tenantId作为一个参数,只为正确的数据库资源服务。 当获取信息时,这对所有视图来说都是完美的。也用于创建新的东西(使用登录的用户t

  • 我目前正试图找出为我的系统设置多租户的最佳方法。我面临的问题是,租户并不总是必须是子域,但可以作为子域的一部分进行设置,子域可以有多个租户。我似乎在网上找不到任何东西可以帮助我在Laravel 6中进行设置。 系统要求: 一台服务器可以有许多子域 系统必须设置一个数据库,该数据库将使用tenant_id来确定哪些数据属于租户。 我目前正在以以下结构将所有子域数据存储在“subdomains”表中:

  • 我正在使用Spring 2. x、Hibernate 5. x、Spring Data REST、Mysql 5.7构建一个多租户REST服务器应用程序。Spring 2. x使用Hikari进行连池。 我将使用每个租户数据库的方法,这样每个租户都有自己的数据库。 我以这种方式创建了我的MultiTenantConnectionProvider: 在我的实现中,我阅读了tenantId,并从中央管