1脓杉,簡單說說多租戶
多租戶是指同一套軟件服務(wù)可以供多個(gè)用戶使用,并且保證這多個(gè)用戶的數(shù)據(jù)相互隔離吞瞪。通俗理解就是電商平臺(tái)中入駐的商家箩朴,這多個(gè)商家只需要通過平臺(tái)審核岗喉,就可以快速地使用平臺(tái)功能秋度,并且商家之間的數(shù)據(jù)相互隔離炸庞,不影響查看彼此的數(shù)據(jù),彼此之間互不影響荚斯。
多租戶是SAAS(軟件即服務(wù))中的一個(gè)概念埠居,他的意義在于降低資源成本,方便迭代事期,能提供大量的結(jié)構(gòu)化數(shù)據(jù)滥壕,創(chuàng)造二次價(jià)值。
2兽泣,個(gè)人的一些經(jīng)歷與總結(jié)
個(gè)人的項(xiàng)目在多租戶上項(xiàng)目經(jīng)歷有點(diǎn)特殊绎橘,做的第一個(gè)產(chǎn)品就是基于云端部署的多租戶,租戶層級(jí)只有平臺(tái)與商家兩級(jí)唠倦,產(chǎn)品形態(tài)上平臺(tái)與商家的界限很模糊称鳞,或者說區(qū)別不大,與商家相比稠鼻,平臺(tái)更多的就是能看到所有商家的商品冈止,多了商家列表這樣的平臺(tái)管理模塊;
后來自己又做了租戶層級(jí)更多的電商產(chǎn)品候齿,在商家與平臺(tái)之間增加了高級(jí)別管理單位熙暴,租戶樹狀結(jié)構(gòu)更復(fù)雜闺属,其中不同的層級(jí)會(huì)涉及差異化的功能。
最近半年做的產(chǎn)品是本地部署周霉,單用戶的形態(tài)掂器,后續(xù)會(huì)逐步向云端多租戶形式轉(zhuǎn)變。
基于上述經(jīng)歷俱箱,有如下體會(huì):
(1)與開發(fā)溝通時(shí)唉匾,如何避免一頭霧水?
如果產(chǎn)品即將轉(zhuǎn)換為平臺(tái)匠楚,做多租戶功能巍膘,因?yàn)槎嘧鈶粢呀?jīng)是一個(gè)成熟的設(shè)計(jì),第一時(shí)間和技術(shù)經(jīng)理講明做的就是多租戶設(shè)計(jì)芋簿,可以節(jié)省雙方的溝通時(shí)間峡懈;同時(shí)自己也要預(yù)估未來的業(yè)務(wù)規(guī)模,數(shù)據(jù)的保密性(隔離性)要求与斤,多租戶核心的特點(diǎn)便是數(shù)據(jù)隔離肪康。
實(shí)現(xiàn)數(shù)據(jù)隔離的方式有三種:
a,獨(dú)立數(shù)據(jù)庫:隔離級(jí)別最高撩穿,安全性最高磷支,成本也最高,一般用于政府食寡,運(yùn)營商這樣對數(shù)據(jù)安全性要求高的用戶雾狈。
b,共享數(shù)據(jù)庫抵皱,隔離數(shù)據(jù)架構(gòu):安全性較高善榛,數(shù)據(jù)故障時(shí),恢復(fù)比較困難呻畸,同時(shí)會(huì)影響其他租戶移盆,如果需要跨租戶統(tǒng)計(jì),存在一定困難伤为。
c咒循,共享數(shù)據(jù)庫,共享數(shù)據(jù)架構(gòu):維護(hù)和購置成本最低绞愚,允許的每個(gè)數(shù)據(jù)庫支持的租戶最多叙甸,但是隔離級(jí)別最低,安全最低爽醋,數(shù)據(jù)備份與恢復(fù)也最困難蚁署。
由于之前不清楚多租戶數(shù)據(jù)隔離與業(yè)務(wù)需求的關(guān)系,導(dǎo)致在這一塊花費(fèi)了大量的溝通蚂四。
(2)沒有規(guī)則光戈,意味著混亂
當(dāng)租戶出現(xiàn)層級(jí)時(shí)哪痰,不同層級(jí)的租戶對應(yīng)的現(xiàn)實(shí)業(yè)務(wù)角色不一樣,需要的功能有相同的久妆,也有不同的晌杰。理論上租戶的樹狀結(jié)構(gòu),提供了從上(根)到下(葉子)的數(shù)據(jù)結(jié)構(gòu)筷弦;而權(quán)限在業(yè)務(wù)呈現(xiàn)為菜單項(xiàng)的“配置”肋演,租戶的樹狀結(jié)構(gòu)和權(quán)限這兩項(xiàng)組成了整個(gè)產(chǎn)品的功能數(shù)據(jù)骨架±们伲“順拐”地想爹殊,設(shè)計(jì)一款產(chǎn)品,直接按“根節(jié)點(diǎn)”的租戶奸绷,然后賦予所有權(quán)限梗夸,這樣一個(gè)最全的模板,其他“租戶‘号醉,只是這個(gè)大而全的”租戶“模板的子集就行了反症,這樣思考理論上可行,實(shí)際上畔派,這樣不從業(yè)務(wù)出發(fā)思考铅碍,會(huì)帶來的產(chǎn)品的難用,甚至是不可用线椰。設(shè)計(jì)之初胞谈,定義好,每個(gè)層級(jí)的業(yè)務(wù)含義士嚎,每個(gè)層級(jí)擁有哪些功能呜魄,這樣設(shè)計(jì)悔叽,不僅可以使業(yè)務(wù)更清晰莱衩,也會(huì)大大降低項(xiàng)目成本,而產(chǎn)品的靈活度娇澎,并不會(huì)因?yàn)檫@樣層級(jí)與業(yè)務(wù)的映射關(guān)系而下降笨蚁。
(3)租戶之下的數(shù)據(jù)再隔離
租戶本身的樹狀關(guān)系,是可以很好地實(shí)現(xiàn)上下級(jí)趟庄,平級(jí)之間的數(shù)據(jù)隔離括细。但單個(gè)租戶下還會(huì)存在不同業(yè)務(wù)角色,不同業(yè)務(wù)角色有差異化數(shù)據(jù)查看的需求戚啥。自己由于“順拐”地受從“租戶樹”的上下級(jí)天然關(guān)系影響奋单,所以在單個(gè)租戶下的數(shù)據(jù)權(quán)限思考一開始會(huì)有些想不明白,租戶樹的樹狀結(jié)構(gòu)數(shù)據(jù)權(quán)限不能完全適用于單個(gè)租戶下的數(shù)據(jù)隔離猫十,彼此之間會(huì)有交集览濒。
最后終于從業(yè)務(wù)層想通呆盖,單個(gè)租戶之下,還會(huì)存在數(shù)據(jù)隔離的需求贷笛,而這個(gè)需求會(huì)因?yàn)樾袠I(yè)不同而各不一樣应又,與租戶本身的層級(jí)關(guān)系更沒有必然關(guān)系。