多租戶系統的核心概念模型
讓我們深入探討一下多租戶系統的概念模型。概念模型是多租戶系統的 "骨架",幫助我們理解系統各部分的組織和運作方式。
多租戶的核心概念模型
-
• 租戶:通常指一個企業客戶,不同租戶之間的數據和行爲是相互隔離的。
-
• 用戶:某個租戶內的具體使用者,使用賬號、密碼等信息登錄到 SaaS 系統,使用軟件服務。
-
• 組織:如果租戶是企業客戶,通常會有自己的組織架構。
-
• 員工:指組織內部的具體成員。
-
• 解決方案:爲解決客戶的特定業務問題,SaaS 服務商將產品與服務組合打包,提供整體解決方案。
-
• 產品:SaaS 服務商售賣給客戶的軟件應用,能夠幫助客戶實現端到端流程的閉環解決方案。
-
• 資源域:用於運行一個或多個軟件應用的一套雲資源環境。
-
• 雲資源:SaaS 產品一般部署在各類雲平臺上(如阿里雲、騰訊雲、華爲雲等),這些平臺提供的計算、存儲、網絡、容器等資源,被抽象爲雲資源。
SaaS 平臺可以創建和管理多個平臺用戶、租戶和資源域,這樣的模型結構,可以讓多個企業客戶和用戶能在同一平臺上運行,而彼此之間的數據和資源獨立。
一個平臺用戶可以關聯到多個租戶。例如,張三作爲一個平臺用戶,可以同時屬於租戶 A 和租戶 B。這種設計讓平臺用戶能夠靈活切換所屬租戶,方便在不同企業賬號間工作。
在單個租戶中,也可以擁有多個用戶,讓企業內多名員工共享租戶的資源和服務。
單個租戶可以訂購多個解決方案,一個解決方案往往包含多個產品,以滿足企業客戶的多樣需求。這些產品可以運行在特定的資源域,保證不同產品在同一租戶中的高效管理和資源隔離。
租戶內的組織架構支持上下級關係,在單個組織單元內,可以配置多個員工,並將員工與平臺用戶綁定,便於員工通過自己的賬戶訪問相關服務。
概念模型的應用場景示例
1、租戶與內部模型關係
在 SaaS 產品中,租戶是最頂層的概念,可以理解爲一個大房子的租賃人,而房子內部的組織、用戶、產品、雲資源等模型就像是這個房子裏的各種傢俱和設施。
換句話說,租戶是 SaaS 產品爲每個客戶或企業專門劃分出的獨立空間,而組織、用戶、產品、雲資源等模型則是租戶內部的細分結構,爲不同的使用需求和權限分配提供支持。
-
• 租戶:相當於整套房子的所有權,即租戶擁有這套房子在 SaaS 平臺中的使用權,是所有內部資源的頂層管理者。
-
• 組織:類似房間的佈局,每個房間有特定的功能(比如子公司、部門),組織架構幫助企業在平臺內映射現實中的管理層級關係。
-
• 用戶:就像在房子裏活動的人員,用戶被賦予不同的角色和權限,決定了誰可以進入哪些房間,誰可以使用哪些傢俱。
-
• 產品:如同家裏各種各樣的傢俱、電器、設施,滿足不同的需求。不同租戶可以選擇不同的產品組合,隨需增加或減少,來滿足他們的業務需求。
-
• 雲資源:類似於水電煤等基礎設施,支持房子裏的各項功能正常運行,確保產品穩定、流暢地提供服務。
通過這種類比可以看出,SaaS 產品將租戶作爲最頂層的概念,爲企業提供了一套獨立空間,租戶內部的各項資源則在這個框架下被靈活管理和使用,讓企業客戶可以獲得定製化的服務和資源隔離的安全保障。
2、租戶身份識別
在多租戶 SaaS 系統中,無論採用哪種隔離模式,準確識別租戶身份並獲取相應資源配置是非常關鍵的。
當用戶登錄 SaaS 系統後,系統會生成並返回租戶上下文信息。這個上下文信息包括用戶關聯的租戶和對應的隔離模式(如共享或獨立資源)。
租戶上下文信息會附加在每次系統交互中,貫穿整個系統調用鏈。從用戶請求到系統內部處理的每一步,都保留了租戶上下文。這樣,上游的請求處理模塊就可以知道如何路由和訪問下游資源。
租戶上下文信息讓系統能夠在請求傳遞過程中精準識別租戶身份和配置。系統會根據上下文動態選擇數據庫、應用實例或網絡資源,實現數據和資源隔離,確保不同租戶的訪問互不干擾。
3、租戶計費計量管理
租戶的計費計量管理,是 SaaS 平臺不可或缺的一部分。不同的隔離模式下,計費方式有所不同。
豎井隔離模式下,計費相對簡單。因爲每個租戶使用的資源(計算、存儲、網絡等)都是單獨分配的,就像每個租戶有自己的一塊 “獨立地盤”。
因此,我們只需統計每個租戶佔用的資源量,就能計算出費用。這種模式邏輯清晰,一目瞭然。
共享模式下,計費則比較複雜。因爲多個租戶共享同一資源池,理想情況是,確保每個租戶只爲自己實際用到的部分買單。
通常,我們會綜合考量幾個指標,比如請求的數量、存儲容量、創建的數據對象數量等。通過這些數據的組合,我們可以相對準確算出每個租戶的費用。
本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源:https://mp.weixin.qq.com/s/uOYXy4qqHqzhnoXyHyKzkA