1. 程式人生 > 其它 >FaaS 基於多租戶技術 SaaS平臺設計

FaaS 基於多租戶技術 SaaS平臺設計

多租戶技術(英語:multi-tenancy technology)或稱多重租賃技術,是一種軟體架構技術,它是在探討與實現如何於使用者的環境下共用相同的系統或程式元件,並且仍可確保各使用者間資料的隔離性。多租戶簡單來說是指一個單獨的例項可以為個組織服務。

技術離不開生活,技術源於生活

房東有一套兩室一廳的房子,房東和兩個租戶分別簽有合同,合同內容包含租戶擁有哪個房間、期限與其房東的授權證明。

A租戶是一對小夫妻,B租戶是一個剛畢業的單身大學生,A租戶在自己的房間有自己的角色(妻子與丈夫),B租戶同樣在自己的房間擁有自己的角色(單身狗),兩個租戶都與房東有關係,但倆個租戶之間卻沒有任何關係。

多租戶技術特點

1.多個租戶共享平臺。

2.租戶之間資料隔離。

3.租戶之間釋出更新互不影響。

4.簽訂合約租戶無線擴充套件

FaaS介紹

微服務(MicroService)是以專注於單一服務/功能的小型單元塊為基礎,利用模組化的方式組合成複雜的大型應用服務。

FaaS是Function as a Service的縮寫,可以簡單理解為功能服務化。FaaS提供了一種比微服務更加服務碎片化的軟體架構正規化。FaaS可以讓研發只需要關注業務程式碼邏輯,不再關注技術架構。

例如:FaaS提供“選擇工作流模板”、“啟動工作流”、“完成流程”、“檢視工作流狀態“功能,當觸發“啟動工作流”事件後,再研發所需的業務程式碼。業務與架構分離,讓專業更加專業。

FaaS特點

無狀態 目的:業務隔離

1、元件業務配置抽離,腳手架工程使用則配置。

2、專案適合即使用

腳手架工程pom.xml引入便使用

腳手架 目的:自定義模版,快速整合

版本化 目的:多元化的需求變更互不影響

通過FaaS將架構分層

前端:

元件研發完成上傳npm倉庫,並提供元件使用說明。注意:同一類業務封裝成一個外掛,高內聚低耦合原則。

腳手架研發引用元件,並根據元件使用說明向元件傳遞引數。

並不是所有功能頁面全部使用遠端元件開發,只有可重複利用的頁面使用該模式。

後端:

FaaS元件

提供功能即服務的元件,實現插入即可使用。

MS服務

微服務層,通過腳手架使用FaaS元件,對外提供單一服務。

WS元件

消費者層,用於消費MS服務,對外提供具體的業務實現。注意:該WS不直接對外提供服務,需打成jar包釋出到maven私服上。

WS服務

腳手架工程,直接裝配WS元件。同時也可以實現特性業務研發。

基礎功能介紹

應用註冊

就像是將每個房間安裝完鎖後,把鑰匙交給房東。

申請應用

租戶選擇房間,並向房東申請簽訂合同。

授權應用

租戶和房東簽訂合同,確定那個房間(鑰匙),什麼期限。

資料授權

只有簽訂合同租戶才享有房間內物品使用權。

應用隔離

每個房間互不干涉

許可權管理

使用者有使用者的許可權、房東有房東許可權、房間有房間的許可權,三者不不干涉。

房間(平臺)

一個房間對應一個平臺(醫生端、患者端、SaaS端),同樣也可以是一個應用(預約掛號、隨訪問卷),房間只需要關聯一個應用而已。同一個房間卻可以被多個客廳關聯,通過關聯關係區分房間屬性(所屬)。且房間擁有獨立入口。

應用(選單首頁)

所有應用選單統一掛載在應用商城,應用商城是個房間。建立房間時可選擇應用,不選則預設應用。有了應用後,通過許可權功能給組織角色授權。

客廳(專案)

一個客廳代表一個專案,客廳是一個專案的門戶,通過客廳可以展示與客廳關聯的每一個房間。客廳預設關聯應用商城(房間),其他房間、應用可等建立客廳後登入客廳在應用商城裡下載。建立客廳將自動建立管理員帳號密碼及初始化角色。

拓展內容:客廳不作為根節點,客廳之上也許還有房東,一個房東可以關聯多個客廳。

鑰匙(鑑權與重定向)

每個房間都會是一個獨立的個體,插拔即可用。不會限制團隊、語言,只需要提供鑑權機制與鑑權後的重定向路徑即可。使用者想進入房間,首先需要鑑權,通過後通過鑰匙開啟房門地址。

合同(使用者APP記錄)

使用者從應用商城下載應用的記錄。

後續設計 待續 關注 !

推薦閱讀 :

聊平臺,先談主資料
聊平臺,再談元資料
聊平臺,需談資料元
醫院資訊整合平臺(ESB)資料整合建設方案【遠端醫療】網際網路醫院 衛健委資料上報平臺技術方案
【技術選型】你的公司,你的專案真的適合微服務嗎?
【劃劃重點】論大資料中主資料的重要性
【視訊問診】ffmpeg+HLS直播與回放技術
【遠端醫療】智慧導診技術方案

技術微信群:
加微信:wonter 傳送:技術Q
醫療微信群:
加微信:wonter 傳送:醫療Q
更多文章關注公眾號: