企業(yè)級應(yīng)用系統(tǒng)體系架構(gòu)十一企業(yè)應(yīng)用的處理

企業(yè)級應(yīng)用系統(tǒng)體系架構(gòu)十一企業(yè)應(yīng)用的處理

ID:21959668

大小:413.00 KB

頁數(shù):83頁

時間:2018-10-21

企業(yè)級應(yīng)用系統(tǒng)體系架構(gòu)十一企業(yè)應(yīng)用的處理_第1頁
企業(yè)級應(yīng)用系統(tǒng)體系架構(gòu)十一企業(yè)應(yīng)用的處理_第2頁
企業(yè)級應(yīng)用系統(tǒng)體系架構(gòu)十一企業(yè)應(yīng)用的處理_第3頁
企業(yè)級應(yīng)用系統(tǒng)體系架構(gòu)十一企業(yè)應(yīng)用的處理_第4頁
企業(yè)級應(yīng)用系統(tǒng)體系架構(gòu)十一企業(yè)應(yīng)用的處理_第5頁
資源描述:

《企業(yè)級應(yīng)用系統(tǒng)體系架構(gòu)十一企業(yè)應(yīng)用的處理》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、企業(yè)級應(yīng)用系統(tǒng)體系架構(gòu)(十一)企業(yè)應(yīng)用的處理ChenHaopengSunday,July04,2021References:Ted?Neward:EffectiveEnterpriseJava1處理你必須放下兩方的所有偏見,既不相信也不排斥任何事情,因?yàn)槠渌魏稳嘶蛘哌@些人的描述,都已經(jīng)排斥或相信它了。你自己的理由是上天給你的唯一神諭,對此你負(fù)有責(zé)任,不是為了抉擇的公正,而是為了抉擇的合理?!猅homasJefferson不要去找精靈商議,因?yàn)樗麄兗日f是又說否?!狦andalf對Frodo說,指環(huán)王處理在處

2、理是在企業(yè)系統(tǒng)中中間件不能為我們解決的那一部分,是我們應(yīng)用的“血肉”。它有過:業(yè)務(wù)規(guī)則、業(yè)務(wù)邏輯、領(lǐng)域邏輯、應(yīng)用代碼,等等無數(shù)多的稱呼。正如它的本質(zhì)所言,處理是業(yè)務(wù)首先要關(guān)注的東西:對沒有在其它任何地方處理過的數(shù)據(jù)進(jìn)行處理。企業(yè)系統(tǒng)中相當(dāng)大一部分都是在處理并發(fā)——考慮到最大的吞吐量,我們需要假定兩件事情可以在同一時間發(fā)生。在企業(yè)系統(tǒng)中,并發(fā)同時涉及到兩個主題:編程語言自己的基于監(jiān)視器的對象同步系統(tǒng)和構(gòu)建于大多數(shù)企業(yè)資源管理器內(nèi)部的基于事務(wù)的同步機(jī)制。。處理第1項(xiàng):保持簡潔第2項(xiàng):優(yōu)先采用規(guī)則引擎去處理復(fù)雜狀態(tài)的

3、評估和執(zhí)行第3項(xiàng):優(yōu)先為隱含的非原子性錯誤場景采用事務(wù)性處理第4項(xiàng):區(qū)分用戶事務(wù)和系統(tǒng)事務(wù)第5項(xiàng):最小化鎖窗口第6項(xiàng):優(yōu)先使用本地事務(wù)而不是分布式事務(wù)第7項(xiàng):為了更好的可擴(kuò)展性而考慮使用樂觀的并發(fā)機(jī)制第8項(xiàng):為了顯式的并發(fā)控制而考慮使用悲觀的并發(fā)機(jī)制第9項(xiàng):考慮使用較低的隔離級別以獲得更大的事務(wù)吞吐量第10項(xiàng):面臨回滾時使用保存點(diǎn)來保留部分工作第11項(xiàng):當(dāng)有可能避免鎖定區(qū)域時就復(fù)制數(shù)據(jù)源第12項(xiàng):偏愛不可變的,因?yàn)樗恍枰魏捂i保持簡潔KISS(KeepItSimple,Stupid,保持簡潔易用)。要做那些能

4、夠讓系統(tǒng)運(yùn)轉(zhuǎn)的最簡潔的事情,這就是簡潔性規(guī)則。復(fù)雜性的某些部分需要被應(yīng)用到領(lǐng)域問題本身,因此如果你將全部復(fù)雜性都花費(fèi)到了復(fù)雜的技術(shù)上,以至于超越費(fèi)用底線,那么該項(xiàng)目將會崩潰。保持簡潔如果你不能解釋一個給定的由一條單一語句,或者至多兩條語句構(gòu)成的處理代碼片段做了些什么,那么它就可能過于復(fù)雜了。復(fù)雜解決方案存在的問題數(shù)也數(shù)不清,但是基本上都可以歸咎于下面幾個基本直接原因:復(fù)雜解決方案很難被模塊化,因此難以被重用。復(fù)雜解決方案難于調(diào)試。復(fù)雜解決方案難于被優(yōu)化。復(fù)雜解決方案更難于維護(hù)。通常,企業(yè)級項(xiàng)目傾向于復(fù)雜而不是簡

5、單:復(fù)雜系統(tǒng)比簡單系統(tǒng)更具“男子氣概”這種想法是不對的。無論出于什么原因,我們都應(yīng)該不斷地重復(fù)強(qiáng)調(diào):保持簡潔,讓工具去完成盡可能多的工作。處理第1項(xiàng):保持簡潔第2項(xiàng):優(yōu)先采用規(guī)則引擎去處理復(fù)雜狀態(tài)的評估和執(zhí)行第3項(xiàng):優(yōu)先為隱含的非原子性錯誤場景采用事務(wù)性處理第4項(xiàng):區(qū)分用戶事務(wù)和系統(tǒng)事務(wù)第5項(xiàng):最小化鎖窗口第6項(xiàng):優(yōu)先使用本地事務(wù)而不是分布式事務(wù)第7項(xiàng):為了更好的可擴(kuò)展性而考慮使用樂觀的并發(fā)機(jī)制第8項(xiàng):為了顯式的并發(fā)控制而考慮使用悲觀的并發(fā)機(jī)制第9項(xiàng):考慮使用較低的隔離級別以獲得更大的事務(wù)吞吐量第10項(xiàng):面臨回

6、滾時使用保存點(diǎn)來保留部分工作第11項(xiàng):當(dāng)有可能避免鎖定區(qū)域時就復(fù)制數(shù)據(jù)源第12項(xiàng):偏愛不可變的,因?yàn)樗恍枰魏捂i優(yōu)先采用規(guī)則引擎去處理復(fù)雜狀態(tài)的評估和執(zhí)行請考慮一下,如果為你桌子上的計算機(jī)定購DVD,那么我們需要確保他們得到的不是KorSplatt5900顯卡,因?yàn)檫@種顯卡不能和此DVD模型一起工作,當(dāng)然除非想更換為CD-RW/DVD。噢,KorSplatt5900不能在一臺少于512MBRAM的機(jī)器上運(yùn)轉(zhuǎn),除非它是SuperReallyFastRAM……。由于所有可能的“公司希望在基本不兼容的限制之上仍然能

7、夠運(yùn)行”的促銷策略的因素,再加上所有這些東西一個月(如果不是一個星期的話?。┚蜁儎右淮危约巴蝗幻俺鰜淼囊噲D為在線PC生產(chǎn)商創(chuàng)建“計算機(jī)配置器”的想法,都使得大多數(shù)堅(jiān)毅的IT行家望而卻步。優(yōu)先采用規(guī)則引擎去處理復(fù)雜狀態(tài)的評估和執(zhí)行這里的問題是這種復(fù)雜性評估很難用Java這種命令式語言去執(zhí)行,這種語言關(guān)注的是CPU一步一步的實(shí)現(xiàn)。從本質(zhì)上說,我們告訴機(jī)器的是怎樣做這項(xiàng)工作,因此這意味著我們必須對各種需要被評估的條件以及這些條件需要被考慮的順序非常明了。這會導(dǎo)致產(chǎn)生像下面這樣復(fù)雜和難以維護(hù)的代碼:if(curr

8、entPC.drives().contains("DVD")){if(currentPC.videoCard().equals("KorSplatt5900")&&!(currentPC.drives().get("DVD").equals("CD-RW/DVD"))){warn("DVDincompatiblewithKorSplatt5900");}}elseif(currentP

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費(fèi)完成后未能成功下載的用戶請聯(lián)系客服處理。