多租戶技術(英語: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直播與回放技術
【遠程醫療】智能導診技術方案