亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区
Chinaunix
標題:
企業(yè)級大型核心業(yè)務(wù)系統(tǒng)架構(gòu)設(shè)計 -- 數(shù)據(jù)庫架構(gòu) (草稿)
[打印本頁]
作者:
未來精英
時間:
2011-03-30 21:00
標題:
企業(yè)級大型核心業(yè)務(wù)系統(tǒng)架構(gòu)設(shè)計 -- 數(shù)據(jù)庫架構(gòu) (草稿)
此貼僅為了記錄偶的初步設(shè)計思想,是為了防止將來忘掉,供個人知識積累用。
企業(yè)級大型核心業(yè)務(wù)系統(tǒng)的特點:
1、業(yè)務(wù)非常復(fù)雜,每個交易將有大量涉及到N多表;
2、每天晚上都會有大量的批處理任務(wù),例如:跑出保單狀態(tài),并更新,只能在主數(shù)據(jù)庫中更新,因為需要回寫狀態(tài);
3、對外提供N多接口,支持N多外圍系統(tǒng)的應(yīng)用,如:呼叫中心、網(wǎng)銷等并發(fā)非常大的外圍系統(tǒng);
4、提供7X24小時的應(yīng)用,在上班時間內(nèi)部用戶使用較多,而下班后可能網(wǎng)絡(luò)用戶使用較多,這時要求系統(tǒng)提供7x24服務(wù)。
對于這些問題數(shù)據(jù)庫架構(gòu)將是一個非常大的挑戰(zhàn),因為應(yīng)用服務(wù)器可以通過無限的擴展應(yīng)用服務(wù)器來達到壓力均衡,如果應(yīng)用服務(wù)器越多對數(shù)據(jù)庫的壓力越大,不管怎樣數(shù)據(jù)都必須落地在數(shù)據(jù)庫中,那么數(shù)據(jù)庫的架構(gòu)就需要:
1、如果采用傳統(tǒng)的雙機熱備架構(gòu),即:一臺無比強大的小型機支持應(yīng)用,這樣可能出現(xiàn)問題:
1)單臺機器即使?jié)M配也可能無法支持應(yīng)用,例如:595滿配就是64顆CPU,單對于支持10000+以上同時在線的系統(tǒng),如果應(yīng)用設(shè)計稍微不合理(應(yīng)用非常復(fù)雜,難免有設(shè)計不是十分合理的情況),那么單臺機器將無法支撐;
如果不采用雙機熱備,那么可以采用RAC+DataGuard,RAC可以無限擴展,但偶曾經(jīng)遇到一次RAC使用的失敗例子,其中先出現(xiàn)了內(nèi)存問題,導(dǎo)致頻繁宕機,后面有出現(xiàn)RAC之前同步消耗而外20%的性能,加大的通訊量。此次問題之后放棄使用RAC了,但由于應(yīng)用的復(fù)雜度還不是特別大,因此單機能撐住。但面臨單機無法支持的情況,這時只能選擇可擴展的架構(gòu)——RAC。
RAC設(shè)計中盡量減少各個實例之間的內(nèi)存數(shù)據(jù)通訊,通訊的產(chǎn)生就是來自于多臺實例中都緩存了同一張表的數(shù)據(jù),那么這樣表的數(shù)據(jù)更新了就會出現(xiàn)同步。那么最好是通過應(yīng)用的方法避免同一張表的數(shù)據(jù)在多臺機器上,因此選擇RAC架構(gòu),就必須涉及到應(yīng)用架構(gòu)的一定調(diào)整,偶想到的應(yīng)用調(diào)整:
1、按照模塊建立不同的DataSource配置,對于這個模塊都采用這個數(shù)據(jù)源;
2、在Spring配置中為每個模塊配置一個父類,避免子類在程序中選擇;而且注意這么好的配置肯定只能是生產(chǎn)環(huán)境,而測試環(huán)境可能還是只有一臺機器,那么基于封裝變化的設(shè)計原則,那么這些數(shù)據(jù)源的選擇就是必須在架構(gòu)層面控制;
3、ETL、Job都要注意選擇特定的機器來執(zhí)行對應(yīng)的應(yīng)用,避免數(shù)據(jù)表緩存的同步。
注意:數(shù)據(jù)源的配置需要特殊設(shè)計,即將Oracle的鏈接配置為Service方式,將多臺機器的順序不同,例如:3臺機器,A/B/C,那么數(shù)據(jù)源1的優(yōu)先順序為ABC,數(shù)據(jù)源2的優(yōu)先級為BCA,數(shù)據(jù)源3的優(yōu)先級為CAB。注意:第一臺機器的順序重要,之后的僅是在第一臺壞掉的時候自動選擇后面的機器,以防止數(shù)據(jù)庫的單點故障。
待確認問題:RAC架構(gòu)的跨Instance的事務(wù)是否支持?
問題起因:由于按照模塊設(shè)定數(shù)據(jù)源,那么涉及到一個功能要更改多個模塊的數(shù)據(jù)時一個Spring的事務(wù)是否可以管理?或者Oracle是否支持多臺機器之間的事務(wù)?或者是要啟動XA?
具體的原因:Spring如果配置多個DataSource,而DataSource的配置可能是在應(yīng)用服務(wù)器(如:WebLogic或 WebSphere)上,應(yīng)用服務(wù)器的DataSource可以配置為Service模式,但由于機器的順序不同,那么一定會配置多個 DataSource,那么Spring的事務(wù)管理是否支持跨DataSource事務(wù),是否要使用JTA?
歡迎光臨 Chinaunix (http://www.72891.cn/)
Powered by Discuz! X3.2