多租戶系統的核心概念模型

讓我們深入探討一下多租戶系統的概念模型。概念模型是多租戶系統的 "骨架",幫助我們理解系統各部分的組織和運作方式。

多租戶的核心概念模型

SaaS 平臺可以創建和管理多個平臺用戶、租戶和資源域,這樣的模型結構,可以讓多個企業客戶和用戶能在同一平臺上運行,而彼此之間的數據和資源獨立。

一個平臺用戶可以關聯到多個租戶。例如,張三作爲一個平臺用戶,可以同時屬於租戶 A 和租戶 B。這種設計讓平臺用戶能夠靈活切換所屬租戶,方便在不同企業賬號間工作。

在單個租戶中,也可以擁有多個用戶,讓企業內多名員工共享租戶的資源和服務。

單個租戶可以訂購多個解決方案,一個解決方案往往包含多個產品,以滿足企業客戶的多樣需求。這些產品可以運行在特定的資源域,保證不同產品在同一租戶中的高效管理和資源隔離。

租戶內的組織架構支持上下級關係,在單個組織單元內,可以配置多個員工,並將員工與平臺用戶綁定,便於員工通過自己的賬戶訪問相關服務。

概念模型的應用場景示例

1、租戶與內部模型關係

在 SaaS 產品中,租戶是最頂層的概念,可以理解爲一個大房子的租賃人,而房子內部的組織、用戶、產品、雲資源等模型就像是這個房子裏的各種傢俱和設施。

換句話說,租戶是 SaaS 產品爲每個客戶或企業專門劃分出的獨立空間,而組織、用戶、產品、雲資源等模型則是租戶內部的細分結構,爲不同的使用需求和權限分配提供支持。

通過這種類比可以看出,SaaS 產品將租戶作爲最頂層的概念,爲企業提供了一套獨立空間,租戶內部的各項資源則在這個框架下被靈活管理和使用,讓企業客戶可以獲得定製化的服務和資源隔離的安全保障。

2、租戶身份識別

在多租戶 SaaS 系統中,無論採用哪種隔離模式,準確識別租戶身份並獲取相應資源配置是非常關鍵的。

當用戶登錄 SaaS 系統後,系統會生成並返回租戶上下文信息。這個上下文信息包括用戶關聯的租戶和對應的隔離模式(如共享或獨立資源)。

租戶上下文信息會附加在每次系統交互中,貫穿整個系統調用鏈。從用戶請求到系統內部處理的每一步,都保留了租戶上下文。這樣,上游的請求處理模塊就可以知道如何路由和訪問下游資源。

租戶上下文信息讓系統能夠在請求傳遞過程中精準識別租戶身份和配置。系統會根據上下文動態選擇數據庫、應用實例或網絡資源,實現數據和資源隔離,確保不同租戶的訪問互不干擾。

3、租戶計費計量管理

租戶的計費計量管理,是 SaaS 平臺不可或缺的一部分。不同的隔離模式下,計費方式有所不同。

豎井隔離模式下,計費相對簡單。因爲每個租戶使用的資源(計算、存儲、網絡等)都是單獨分配的,就像每個租戶有自己的一塊 “獨立地盤”。

因此,我們只需統計每個租戶佔用的資源量,就能計算出費用。這種模式邏輯清晰,一目瞭然。

共享模式下,計費則比較複雜。因爲多個租戶共享同一資源池,理想情況是,確保每個租戶只爲自己實際用到的部分買單。

通常,我們會綜合考量幾個指標,比如請求的數量、存儲容量、創建的數據對象數量等。通過這些數據的組合,我們可以相對準確算出每個租戶的費用。

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/uOYXy4qqHqzhnoXyHyKzkA