首页 > 其他分享 >多租户系统的核心概念模型

多租户系统的核心概念模型

时间:2024-10-30 14:08:44浏览次数:2  
标签:概念模型 租户 核心 平台 SaaS 用户 资源

大家好,我是汤师爷~

让我们深入探讨一下多租户系统的概念模型。概念模型是多租户系统的"骨架",帮助我们理解系统各部分的组织和运作方式。

多租户的核心概念模型

  • 租户:通常指一个企业客户,不同租户之间的数据和行为是相互隔离的。
  • 用户:某个租户内的具体使用者,使用账号、密码等信息登录到 SaaS 系统,使用软件服务。
  • 组织:如果租户是企业客户,通常会有自己的组织架构。
  • 员工:指组织内部的具体成员。
  • 解决方案:为解决客户的特定业务问题,SaaS 服务商将产品与服务组合打包,提供整体解决方案。
  • 产品:SaaS 服务商售卖给客户的软件应用,能够帮助客户实现端到端流程的闭环解决方案。
  • 资源域:用于运行一个或多个软件应用的一套云资源环境。
  • 云资源:SaaS 产品一般部署在各类云平台上(如阿里云、腾讯云、华为云等),这些平台提供的计算、存储、网络、容器等资源,被抽象为云资源。

SaaS平台可以创建和管理多个平台用户、租户和资源域,这样的模型结构,可以让多个企业客户和用户能在同一平台上运行,而彼此之间的数据和资源独立。

一个平台用户可以关联到多个租户。例如,张三作为一个平台用户,可以同时属于租户A和租户B。这种设计让平台用户能够灵活切换所属租户,方便在不同企业账号间工作。

在单个租户中,也可以拥有多个用户,让企业内多名员工共享租户的资源和服务。

单个租户可以订购多个解决方案,一个解决方案往往包含多个产品,以满足企业客户的多样需求。这些产品可以运行在特定的资源域,保证不同产品在同一租户中的高效管理和资源隔离。

租户内的组织架构支持上下级关系,在单个组织单元内,可以配置多个员工,并将员工与平台用户绑定,便于员工通过自己的账户访问相关服务。

概念模型的应用场景示例

1、租户与内部模型关系

在SaaS产品中,租户是最顶层的概念,可以理解为一个大房子的租赁人,而房子内部的组织、用户、产品、云资源等模型就像是这个房子里的各种家具和设施。

换句话说,租户是SaaS产品为每个客户或企业专门划分出的独立空间,而组织、用户、产品、云资源等模型则是租户内部的细分结构,为不同的使用需求和权限分配提供支持。

  • 租户:相当于整套房子的所有权,即租户拥有这套房子在SaaS平台中的使用权,是所有内部资源的顶层管理者。
  • 组织:类似房间的布局,每个房间有特定的功能(比如子公司、部门),组织架构帮助企业在平台内映射现实中的管理层级关系。
  • 用户:就像在房子里活动的人员,用户被赋予不同的角色和权限,决定了谁可以进入哪些房间,谁可以使用哪些家具。
  • 产品:如同家里各种各样的家具、电器、设施,满足不同的需求。不同租户可以选择不同的产品组合,随需增加或减少,来满足他们的业务需求。
  • 云资源:类似于水电煤等基础设施,支持房子里的各项功能正常运行,确保产品稳定、流畅地提供服务。

通过这种类比可以看出,SaaS产品将租户作为最顶层的概念,为企业提供了一套独立空间,租户内部的各项资源则在这个框架下被灵活管理和使用,让企业客户可以获得定制化的服务和资源隔离的安全保障。

2、租户身份识别

在多租户SaaS系统中,无论采用哪种隔离模式,准确识别租户身份并获取相应资源配置是非常关键的。

当用户登录SaaS系统后,系统会生成并返回租户上下文信息。这个上下文信息包括用户关联的租户和对应的隔离模式(如共享或独立资源)。

租户上下文信息会附加在每次系统交互中,贯穿整个系统调用链。从用户请求到系统内部处理的每一步,都保留了租户上下文。这样,上游的请求处理模块就可以知道如何路由和访问下游资源。

租户上下文信息让系统能够在请求传递过程中精准识别租户身份和配置。系统会根据上下文动态选择数据库、应用实例或网络资源,实现数据和资源隔离,确保不同租户的访问互不干扰。

3、租户计费计量管理

租户的计费计量管理,是SaaS平台不可或缺的一部分。不同的隔离模式下,计费方式有所不同。

竖井隔离模式下,计费相对简单。因为每个租户使用的资源(计算、存储、网络等)都是单独分配的,就像每个租户有自己的一块“独立地盘”。

因此,我们只需统计每个租户占用的资源量,就能计算出费用。这种模式逻辑清晰,一目了然。

共享模式下,计费则比较复杂。因为多个租户共享同一资源池,理想情况是,确保每个租户只为自己实际用到的部分买单。

通常,我们会综合考量几个指标,比如请求的数量、存储容量、创建的数据对象数量等。通过这些数据的组合,我们可以相对准确算出每个租户的费用。

本文已收录于,我的技术网站:tangshiye.cn 里面有,算法Leetcode详解,面试八股文、BAT面试真题、简历模版、架构设计,等经验分享。

标签:概念模型,租户,核心,平台,SaaS,用户,资源
From: https://www.cnblogs.com/tangshiye/p/18515746

相关文章

  • 【C++】string 类深度解析:探秘字符串操作的核心
     快来参与讨论......
  • 触觉智能SOM3588S鸿蒙核心板现已上市,RK3588S八核6T超高算力!
    深圳触觉智能SOM3588S鸿蒙核心板现已上市,搭载瑞芯微RK3588S旗舰芯片,是一款高算力、低功耗,丰富多媒体接口的高性能核心板。SOM3588S鸿蒙核心板集成了四核Cortex-A76和四核Cortex-A55CPU,6T超高算力NPU,G610MP4GPU;拥有8K视频编解码与4800万像素ISP的强大视频图像处理性能;支持HDMI......
  • 极狐GitLab 签约某全球智能制造强企,保护企业核心资产,让智能制造更安全、高效
    客户背景该客户是全球一流的智能化、数字化、柔性化生产解决方案提供商,总部位于江苏,在国内外设有多家子公司以及几十家售后服务网点。该客户在全球的顶尖客户超过30+,覆盖新能源电池、汽车以及医疗自动化等行业,集团现有员工2000+,厂房面积150,000平米,拥有各项先进专利超200项。......
  • Spring Security 4大核心架构图与21种安全验证策略场景分析(高级篇)
    SpringSecurity是一个功能强大且高度可定制的Java安全框架,用于保护基于Spring的应用程序。它提供全面的安全服务,包括认证、授权、防止CSRF攻击、会话管理等。通过灵活的配置选项和多种认证机制,SpringSecurity帮助开发者构建安全、健壮的应用系统,支持从简单的表单......
  • GaussDB基于智能化(AI)技术,打造AI4DB和DB4AI两大技术高地,重构数据库内核核心组件,提升数
    云原生为迎接智能化提供了基础条件,智能化是GaussDB的新的牵引方向,两者相辅相成,互相促进。在智能化出现之前,数据库的运维管理主要依赖分层解耦、化繁为简方式来治理,通过人工服务对单点的业务进行管理。但在云化环境中,一个Region纳管上万实例,仅靠人工很难满足业务诉求,这就促成智能与......
  • Nginx 中动态调整 worker 进程绑定到特定 CPU 核心
    在Nginx中动态调整worker进程绑定到特定CPU核心,可以通过以下两种方式实现:###1.使用`auto`参数自动绑定Nginx1.9.10版本引入了`auto`参数,允许Nginx自动将worker进程绑定到可用的CPU上。这种方式不需要手动指定每个worker进程绑定到哪个CPU核心,Nginx会自......
  • SaaS多租户的3种隔离模式
    大家好,我是汤师爷~在SaaS模式下,多租户之间的资源隔离是基础且关键的一环。SaaS服务商需要在确保运营效率和控制成本的前提下,搭建一个让多个租户能够同时访问的共享环境。虽然大家都在用同一套SaaS产品服务,但资源访问必须严格隔离,确保租户之间互不干扰。SaaS资源隔离通常包含以下......
  • SaaS层的多租户和PaaS的多租户在实现技术上有什么区别
    SaaS层的多租户和PaaS的多租户在实现技术上存在明显的区别。SaaS层多租户主要关注1、应用层的租户隔离,确保各租户的数据和应用逻辑分离;2、用户界面和体验的定制化;3、数据安全与合规性。而PaaS多租户则侧重于1、资源层的隔离和优化,确保平台上各租户的计算和存储资源分配;2、中间件......
  • 一款轻量级集成国密加解密系统,将实现国产化机型、中间件、数据库适配、工作流BPM、多
    前言随着信息技术的不断发展,国内对于实现国产化机型、中间件、数据库适配的需求日益增长,信创产业逐渐成为热点。传统的Java应用开发中,Spring与SpringCloud几乎是不可少的选择,它们占据了JavaWeb开发的重要位置。然而,在新的背景下,开-发者们需要一种更为轻量级、灵活且能够适......
  • 图解:什么是多租户?
    大家好,我是汤师爷~什么是多租户?多租户是SaaS(软件即服务)领域里特有的一个概念。在SaaS服务中,“租户”指的就是使用这个SaaS系统的客户。那么租户和用户有什么区别呢?举个例子。假设你正在使用一款面向企业(ToB)的SaaS产品,"用户"通常指的是公司里实际操作这个SaaS系统的员工。而"租......