2014-01-17 125 views
1

我正在探索J2EE世界中多租戶的概念。 從我所瞭解的多租戶可以共享Web/App服務器,共享數據庫,共享操作系統或共享物理服務器。多租戶:Spring VS休眠

我說得對,如果我說Spring Framework(特別是Spring Security 3.2?),負責Web/App Server級別的多租戶和Hibernate 4.0在數據庫級別處理它,並且他們提供的多租戶功能互相獨立工作。 也就是說,如果我不需要在一個層中使用多租戶(比如說數據庫層,意思是共享數據庫),那麼我可以在應用服務器層只使用Spring安全多租戶功能而幸福地生活?

我們基本上要開始開發全新的項目,

FronEnd:AngularJS 後端:寧靜用SpringMVC ORM :Hibernate的4 DB:MySQL的(我們沒有很多錢,甲骨文等:))

鑑於此工具包,是否有任何優秀的書籍,參考資料或github項目可以爲我們提供多租戶(以及Oauth)的正確方向?

謝謝! PS:我在寫作時正在網上探索各種各樣的東西。

回答

1

多租戶: -術語多租戶通常應用於軟件開發,以指示一個應用程序的單個運行實例同時服務多個客戶端(租戶)的架構。這在SaaS解決方案中非常常見。隔離與各租戶有關的信息(數據,定製等)是這些系統中的特別挑戰。這包括存儲在數據庫中的每個租戶擁有的數據。這是最後一部分,有時被稱爲多租戶數據,我們將關注這些數據。

休眠支持4:https://docs.jboss.org/hibernate/core/4.2/devguide/en-US/html/ch16.html

不難在休眠4配置多租戶,你不需要預言。可能有不同的方法。

多租戶數據的方法: -

  1. 單獨的數據庫
  2. 獨立的模式
  3. 分區(鑑別)數據

說明: - 更早版本的休眠,你可以延長BasicDataSource並來吧用你自己的連接url邏輯取決於你的實現。

+0

謝謝Jaffar,但這並沒有完全回答我的問題。我也想從彈簧的角度來理解多租戶。如果我正在編寫一個具有多租戶功能的全新Web應用程序(Spring + Hibernate),我應該首先從Springs的角度還是從休眠角度開發POC? 2.如果我不需要共享數據庫,但共享應用程序/ Web服務器會怎麼樣? –

+0

我想使用Hibernate實現基於DISCRIMINATOR的(單表共享模式)多租戶?可能嗎? – Ketan

+0

@ hibernate docs中的Ketan ..「DISCRIMINATOR與分區(鑑別器)方法相關。嘗試使用此策略打開沒有租戶標識符的會話是錯誤的。這個策略還沒有在Hibernate 4.0和4.1中實現。它的支持計劃爲5.0。「 –