前段時間第一次看到多租戶時,覺得挺有趣,便想著一探究竟。當我檢索資料,結合公司研發(fā)時,公司產品進行了架構升級,構造出多租戶架構諸多案例,對多租戶的有了更深的理解。新年期間一直在思索,還是略懂皮毛而已。
OK,Let's start(開始吧),讓我們從提問的角度來闡述問題。
一、什么叫多租戶
多租戶技術或稱多重租賃技術,簡稱SaaS,是一種軟件架構技術,是實現(xiàn)如何在多用戶環(huán)境下共用相同的系統(tǒng)或程序組件,并且可確保各用戶間數據的隔離性。
簡單描述下:多租戶是一種架構,重點就是同一套程序下實現(xiàn)多用戶數據的隔離。
翻閱多租戶的資料后進一步了解道:
在一個多租戶的結構下,應用都是運行在同樣的或者是一組服務器下,這種結構被稱為“單實例”架構(Single Instance),單實例多租戶。多個租戶的數據是保存在相同位置,依靠對數據庫分區(qū)來實現(xiàn)隔離操作。
既然用戶都在運行相同的應用實例,服務運行在服務供應商的服務器上,用戶無法去進行定制化的操作,所以這對于對該產品有特殊需要定制化的客戶就無法適用,所以多租戶適合通用類需求的客戶。
二、既然是數據隔離,那多租戶有幾種方案
在當下云計算時代,多租戶技術在共用的數據中心以單一系統(tǒng)架構與服務提供多數客戶端相同甚至可定制化的服務,并且仍可以保障客戶的數據隔離。目前各種各樣的云計算服務就是這類技術范疇,例如阿里云數據庫服務(RDS)、阿里云服務器、華為云數據庫GaussDB等等。
多租戶在數據存儲上存在三種主要的方案:
舉個簡單的例子:
三種方案好比學生分宿舍,隔離數據庫就好比10名學生一人一個宿舍,每個人拿著自己宿舍的鑰匙,一般貴族學校才有的待遇,學生都得是土豪;
共享數據庫,隔離數據架構就好比10名學生一個宿舍,每人一把宿舍鑰匙,一般家庭的學生都能?。?/b>
共享數據庫,共享數據架構就是家里條件比較差的學生,10個人一個宿舍,連宿舍鑰匙都配不起,大家只有一把鑰匙。
三種方案各有優(yōu)缺點,根據實際情況選擇合適的方案。在SaaS實施過程中,有一個顯著的考量點,就是如何對應用數據進行設計,以支持多租戶,而這種設計的思路,是要在數據的共享、安全隔離和性能間取得平衡。
三、選擇合理的實現(xiàn)模式
衡量三種模式主要考慮的因素是隔離還是共享。
成本角度因素:隔離性越好,設計和實現(xiàn)的難度和成本越高,初始成本越高。共享性越好,同一運營成本下支持的用戶越多,運營成本越低。
安全因素:要考慮業(yè)務和客戶的安全方面的要求。安全性要求越高,越要傾向于隔離。
從租戶數量上考慮:
● 系統(tǒng)要支持多少租戶?上百?上千還是上萬?可能的租戶越多,越傾向于共享。
● 平均每個租戶要存儲數據需要的空間大小。存貯的數據越多,越傾向于隔離。
● 每個租戶的同時訪問系統(tǒng)的最終用戶數量。需要支持的越多,越傾向于隔離。
● 是否想針對每一租戶提供附加的服務,例如數據的備份和恢復等。這方面的需求越多,越傾向于隔離。
技術儲備:共享性越高,對技術的要求越高。
文章來源:安知有話說
編輯:云朵匠 | 數商云(微信ID:shushangyun_com)
【數商云www.zhimaihui.cn】致力于提供企業(yè)級的商城開發(fā)服務,長期為大中型企業(yè)打造數據化、商業(yè)化、智能化的saas多租戶商城系統(tǒng)解決方案,同時我們還提供B2B電子商務平臺、B2B2C多用戶商城系統(tǒng)、B2C電子商務系統(tǒng)、跨境進口電商平臺、供應商系統(tǒng)、新零售電商平臺、直播電商系統(tǒng)等一系列供應鏈平臺定制開發(fā)服務。
評論