什么是多租戶?
多租戶指的是軟件體系結(jié)構(gòu)中的一個(gè)原則,即在一臺(tái)服務(wù)器上運(yùn)行一個(gè)單獨(dú)的軟件實(shí)例,服務(wù)于多個(gè)客戶組織(租戶)。多租戶與多實(shí)例相對(duì)立,后者指的是單獨(dú)的軟件實(shí)例(或硬件系統(tǒng))為不同的客戶組織提供服務(wù)。在多租戶體系結(jié)構(gòu)中,一個(gè)軟件應(yīng)用程序的設(shè)計(jì)是對(duì)數(shù)據(jù)和配置進(jìn)行虛擬的分區(qū),每一個(gè)客戶組織使用一個(gè)定制的虛擬應(yīng)用實(shí)例。多租戶也被視為云計(jì)算的本質(zhì)屬性之一。
云計(jì)算是技術(shù)的一種營銷術(shù)語,提供計(jì)算、軟件、數(shù)據(jù)訪問和存儲(chǔ)服務(wù),終端用戶無需知道提供服務(wù)的系統(tǒng)的具體物理位置和配置。
云計(jì)算為基于互聯(lián)網(wǎng)協(xié)議的IT服務(wù)描繪了一種新的擴(kuò)充、消費(fèi)和交付模式,它通常涉及到提供動(dòng)態(tài)可擴(kuò)展的和可視化的資源。它是由互聯(lián)網(wǎng)提供的易于訪問遠(yuǎn)程計(jì)算機(jī)的一個(gè)副產(chǎn)品。這可能表現(xiàn)為網(wǎng)絡(luò)工具的形式,或者是一種用戶可通過網(wǎng)絡(luò)瀏覽器進(jìn)行訪問和使用的形式好像程序安裝在本機(jī)上一樣。
OFBiz支持的多租戶
多租戶在OFBiz轉(zhuǎn)927271中引入。多租戶是從OFBiz的單一副本運(yùn)行單獨(dú)的數(shù)據(jù)實(shí)例(租戶)的能力。每個(gè)數(shù)據(jù)實(shí)例保存在指定給租戶的一個(gè)單獨(dú)的數(shù)據(jù)庫中。用戶通過登錄表單的形式指定租戶ID登錄到一個(gè)數(shù)據(jù)實(shí)例。必須進(jìn)行多種配置才能使用OFBiz多租戶。包括在“TenantDataSouces”實(shí)體中定義租戶數(shù)據(jù),這樣做主要的原因是“多租戶的優(yōu)點(diǎn)是租戶不必使用諸如‘ant運(yùn)行安裝…’或者其他命令行上的工具訪問加載數(shù)據(jù)??赡苡谐砂偕锨У娜嘶钴S在其他租戶實(shí)例中,所以你不想關(guān)閉或啟動(dòng)服務(wù)器來做這樣的事情,并且很有可能你可以避免有一個(gè)管理員負(fù)責(zé)為租戶加載定制數(shù)據(jù)。你希望是自助服務(wù),而且這是使其成為數(shù)據(jù)庫驅(qū)動(dòng)的關(guān)鍵點(diǎn)(有一個(gè)用戶界面以便用戶可以把東西放到數(shù)據(jù)庫的相關(guān)部分)”,設(shè)置屬性變量以便用戶能夠看到登錄表單中的“租戶ID”、實(shí)體引擎中的配置和ofbiz-component.xml中的條目,以加載數(shù)據(jù)。有多種命令可用來加載租戶數(shù)據(jù)。你要謹(jǐn)慎地定義不同的reader來加載數(shù)據(jù)。我們有租戶特定的delegator,而定義delegator我們必須遵守OFBiz多租戶文檔的命名規(guī)則。OOTB演示租戶配置數(shù)據(jù)是德比指定的,但其他的數(shù)據(jù)源也可以像MySql,Oracle等那樣進(jìn)行配置。我們可以設(shè)置電子商務(wù)應(yīng)用以使用特定的租戶數(shù)據(jù)庫,不過,你必須要配置Web.xml。租戶數(shù)據(jù)加載和其他的配置設(shè)置應(yīng)該通過數(shù)據(jù)庫而不是配置文件進(jìn)行管理,以便如果有新的租戶添加進(jìn)來或者我們需要為任何租戶加載定制數(shù)據(jù)時(shí),我們不用關(guān)閉服務(wù)器。這個(gè)地方需要更多改進(jìn)。
多租戶實(shí)在是OFBiz功能列表的一個(gè)很好的補(bǔ)充。因?yàn)槎嘧鈶艄δ?,OFBiz現(xiàn)在可以被很好地用作SaaS并且如果和云計(jì)算一起使用,效果會(huì)更好。