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

多租户是互动的正确方式吗

喻元龙
2023-03-14

我正在进行一个项目,该项目被设置为多租户、独立用户、数据存储等。然而,当我深入研究不同的场景时,我看到了一些可能与多租户(至少是我所理解的)结合不好的东西。

租户可以是等级制的

  • A公司
    • 西部地区
    • 东部地区
    • A校区
    • B校区

    租户可以向其他资源提供资源

    • A公司创建一个资源
    • A公司以指定权限与B公司共享
    • C公司与B公司共享资源
    • B公司现在可以使用A公司和C公司提供的资源

    我不喜欢多租户,但我想确保无论我选择什么模式,我都遵循该模式的最佳实践。

    层级式多租户的定义是否足够好,可以进行实际尝试?我在网上看不到太多关于它的信息,除了一个提议的开放堆栈项目和一篇仅在2014年发表的研究论文。我可能会改用分层用户,但对租户来说,当然还有其他好处。

    现在考虑到我希望租户能够在任何方向共享资源,也许我不需要分层租户。也许需要一个普通的平面多租户模式,只是增加了一层共享。一个租户将共享给另一个租户,或者可能是另一个租户中的用户

    在后者中,每个用户似乎都成为了自己的租户,拥有自己的数据。它似乎越来越像一个社交网络。在Facebook上,我可以与他人分享东西,他们也可以与我分享东西,没有直接的等级制度,但品牌会制作反映等级制度理念的页面,而实际上没有等级制度。例如,微软有微软,但也有Xbox、Xbox Support 1、Xbox Support 7、Windows、Bing等。

    所以,我从前面的多租户体系结构开始,现在我想,我真正需要的是一个商业级的“社交网络”。

    这两条轨迹有意义吗?有什么事情让我改变或考虑吗?

共有1个答案

燕志学
2023-03-14

在云计算中,多租户通常伴随着租户隔离。如果我们采用维基百科的定义,MT是独立于共享的。

在MT体系结构中,软件的一个实例服务于多个租户(或用户组)。这与多实例软件不同,在多实例软件中,一个软件的多个实例服务于多个租户。

MT架构的主要好处是成本——软件更新可以在单个实例上完成,以使所有租户受益。MT软件为租户提供了一个通用的功能基础,但通常具有允许每个租户定制品牌的接口

您的项目看起来是具有共享功能的MT。假设每家公司都希望能够共享对某些资源的访问。然后,体系结构应该具有足够的灵活性,以便租户能够控制对资源的访问。底层框架应该是快速、安全、可靠且可审计的。

因为您的重点是共享灵活性,所以体系结构支持租户以您和他们想要的方式定义对资源的访问——租户对租户,或租户对某个用户,这一点很重要。

在我看来,我会考虑使用“默认拒绝”架构——一个默认情况下不共享任何东西的架构,并允许租户设置访问资源的规则。

简短版本:多租户通常独立于交互。

 类似资料:
  • 我正在构建一个应用程序,它应该服务于多个租户,并存储他们非常敏感的数据。每个租户都有多个用户。我的后端堆栈是用spring boot Hibernate5构建的。我希望hibernate处理多租户问题,所以我有两个问题要问专家: 如果我使用的是每租户模式范式,如何在登录时将用户名与租户关联?每个租户都有自己的用户表,那么我如何知道用户名属于哪个租户呢? 在注册时,什么是正确的方法来动态创建新模式?

  • 目前为止,我们已经让用户页面在多租户风格下工作。为使它工作,我们看起来并没有做太多的变化。但请记住,我们正在对一个原来不是多租户的系统作修改。 让我们在 Roles 表应用类似的原则。 再一次,一个租户的用户在不能查看或修改其他租户的角色,每个租户的用户是相互独立工作的。 我们先在 RoleRow.cs 添加 TenantId 属性: namespace MultiTenancy.Administ

  • 问题内容: Tl; dr:有没有方法可以覆盖默认行为? 在我的django项目中,我有很多网址,例如 允许使用以下网址 这样,我便可以使用自定义中间件来修改请求,以包括基于使用我的网站的公司的一些特定详细信息 这一切工作正常,除了当Django试图破译与完整路径和… 它似乎作为正则表达式的默认匹配返回。由于该方法具有用于映射到的转义映射 该标签我已经能够覆盖更换正确的公司名称,我想知道是否有类似的

  • 本文向大家介绍解释多租户是什么?相关面试题,主要包含被问及解释多租户是什么?时的应答技巧和注意事项,需要的朋友参考一下 答:我们可以轻松地将Kafka部署为多租户解决方案。但是,通过配置主题可以生成或使用数据,可以启用多租户。此外,它还为配额提供操作支持。

  • 我有一个多租户的web应用程序,我使用的是每个租户的数据库方法。web应用程序还将使用Power BI Embedded显示基于特定租户数据的报告,每个租户的所有报告将具有相同的格式,但数据源将不同。 据我所见,在Power BI中没有直接的方法来实现多租户,比如将数据源作为参数传递。我设法找到了两种方法来实现Power BI嵌入式多租户。或者使用行级别的安全性,这意味着我需要为所有租户的数据建立

  • 我们正面临着解决这个问题的艰难时刻!我们正在尝试在不使用默认租户的情况下为Spring Boot服务使用MTA。这意味着当当前上下文中没有租户时,我们希望从我们的CurrentTenantIdentifierResolver实现返回null。这在我们用JavaEE+Hibernate+Deltaspike数据构建的其他服务中运行良好,但在Spring服务启动时失败。 异常消息如下:“由:org.h