多租戶架構(multitenancy)已成為軟體行業的乙個口號。你只要詢問某家公司它對這個主題有什麼看法,就能判斷該公司從事什麼業務。對於靠該架構起家的公司(salesforce。com和谷歌)而言,多租戶架構必不可少。對於傳統的老牌開發商(微軟、sap和甲骨文)而言,多租戶架構分別被認為是一種威脅、無名小卒或者是一種額外的交付模式。本文詳細介紹多租戶架構以及它在如何改變軟體行業。
什麼是多租戶架構?
多租戶架構的核心思想就是,軟體採用這種方式來開發:應用程式的乙個例項可處理多個客戶即租戶的要求。以salesforce的模式為例,每個客戶開始時都使用應用程式的同一版本。資料儲存在共享資料庫中,但每個客戶只可以訪問自己的資訊。整個應用程式由所謂的元資料(metadata)來描述;元資料就是命令指示,描述了應用程式如何執行的各個方面。如果客戶想定製應用程式,可以建立及配置新的元資料,以描述新的螢幕、資料庫欄位或所需行為
。多租戶架構之外的選擇是單租戶架構;在這種模式中,每個客戶都執行自己的軟體例項,軟體可通過元資料或其他方式來配置。sap公司為其business by design軟體採用了單租戶模式,該軟體實施了眾多商業應用程式。
多租戶模式與單租戶架構模式存在大片的潛在灰色區,往往被人們所忽視。單租戶應用程式可由雲環境中的虛擬化伺服器或資料中心內的伺服器來提供,單租戶應用程式的各部分可以共享或不共享。比方說,應用程式採用單租戶模式、而資料庫進行共享這種現象並不罕見。
salesforce在多租戶架構方面表明了這個看法:它讓軟體開發商只需要為在乙個運作環境下執行的軟體的乙個版本而操心。不需要為不同的軟硬體配置支援多個版本。因為salesforce的所有客戶都執行同一軟體的同一版本,他們就能看清楚什麼在順暢執行、什麼需要改進。
一旦salesforce進行了改進,所有客戶就可以同時獲得改進之處,不過客戶總是可以選擇啟用新特性,還是任由新特性被禁用。由於加大了關注度和集中化,創新步伐更快了。合作夥伴在開發相容產品時,也可以把主要精力放在支援軟體的乙個版本上。
與單租戶架構相比,多租戶架構的乙個缺點就是,某一客戶的問題會影響整個系統。另外,如果集中式運作出問題,所有客戶都會受到影響。沒有哪家軟體即服務(saas)提供商是完美無缺的。它們都遇到過嚴重的服務停用事件。不過與大多數內部資料中心的糟糕記錄相比,它們的情況似乎都相當好。
salesforce通過force。com平台把多租戶架構的優點擴大到了其他軟體開發人員;該平台讓第三方公司可以使用其軟體的原始構建模組和高階應用程式元件,開發自己的多租戶應用程式。這種模式被稱為「平台即服務」(platform-as-a-service);谷歌等其他公司也有類似服務,支援多租戶應用程式的開發。
隨著支援應用程式的構建模組變得更加通用、較少經過改動以便開發多租戶應用程式,你就會慢慢進入到基礎架構即服務(infrastructure-as-a-service)領域,這種服務提供了原始計算功能。顯然,弄清楚所有這些層絕非易事。
多租戶架構是saas**商取得成功的關鍵?
多租戶mysql架構 關於多租戶架構
多租戶架構能使oracle資料庫可用作多租戶容器資料庫 cdb 乙個多租戶容器資料庫 cdb 包含0個或多個自定義的可插拔資料庫 pdbs pdb是乙個包含schemas,schema objects,nonschema objects的集合。在12c之前,所有的oracle資料庫都是非cdb。1....
MyBatis Plus 多租戶架構
1.多租戶概念 多租戶是一種軟體架構技術 單例項架構 是實現如何在多使用者 面向企業使用者 環境下公用相同的系統或程式元件,並且確保各使用者間資料的隔離性。核心就是在同一套程式下實現多使用者資料的隔離性。2.資料隔離方案 以mysql為例 a.獨立資料庫,相同的表 即乙個租戶乙個資料庫,該方案的使用...
Multitenancy 多租戶架構理解
參考 多租戶架構 multitenancy 已成為軟體行業的乙個口號。你只要詢問某家公司它對這個主題有什麼看法,就能 判斷該公司從事什麼業務。對於靠該架構起家的公司 salesforce.comcom和谷歌 而言,多租戶架構必不可少。對 於傳統的老牌開發商 微軟 sap和甲骨文 而言,多租戶架構分別...