深入了解Java架構(gòu)技術(shù)知識詳解,對于“架構(gòu)”來講,理論上劃分了5種架構(gòu)視圖,分別是:邏輯架構(gòu)、開發(fā)架構(gòu)、運行架構(gòu)、物理架構(gòu)、數(shù)據(jù)架構(gòu)。根據(jù)名字,大家都可能大概能猜到其側(cè)重點和含義。這里先用通俗的文字簡單介紹下,便于大家理解,大家可以不必糾結(jié)概念和這些理論。
邏輯架構(gòu):
邏輯架構(gòu)關(guān)注的是功能,包含用戶直接可見的功能,還有系統(tǒng)中隱含的功能?;蛘吒油ㄋ讈砻枋?,邏輯架構(gòu)更偏向我們?nèi)粘K斫獾?ldquo;分層”,把一個項目分為“表示層、業(yè)務(wù)邏輯層、數(shù)據(jù)訪問層”這樣經(jīng)典的“三層架構(gòu)”。
開發(fā)架構(gòu):
開發(fā)架構(gòu)則更關(guān)注程序包,不僅僅是我們自己寫的程序,還包括應(yīng)用程序依賴的SDK、第三方類庫、中間價等。尤其是像目前主流的Java、.NET等依靠虛擬機的語言和平臺,以及主流的基于數(shù)據(jù)庫的應(yīng)用,都會比較關(guān)注。和邏輯架構(gòu)有緊密的關(guān)聯(lián)。
運行架構(gòu):
顧名思義,更關(guān)注的是應(yīng)用程序運行中可能出現(xiàn)的一些問題。例如并發(fā)帶來的問題,比較常見的“線程同步”問題、死鎖問題、對象創(chuàng)建和銷毀(生命周期管理)問題等等。開發(fā)架構(gòu),更關(guān)注的是飛機起飛之前的一些準(zhǔn)備工作,在靜止?fàn)顟B(tài)下就能規(guī)劃好做好的,而運行架構(gòu),更多考慮的是飛機起飛之后可能發(fā)生的一些問題。
物理架構(gòu):
物理架構(gòu),更關(guān)注的系統(tǒng)、網(wǎng)絡(luò)、服務(wù)器等基礎(chǔ)設(shè)施。例如:如何通過服務(wù)器部署和配置網(wǎng)絡(luò)環(huán)境,來實現(xiàn)應(yīng)用程序的“可伸縮性、高可用性”?;蛘吲e一個實際的例子,如何通過設(shè)計基礎(chǔ)設(shè)施的架構(gòu),來保障網(wǎng)站能支持同時10W人在線、7*24小時提供服務(wù),當(dāng)超過10W人或者低于10W人在線時,可以很方便的調(diào)整部署架構(gòu)來支撐。
數(shù)據(jù)架構(gòu):
數(shù)據(jù)架構(gòu),更關(guān)注的是數(shù)據(jù)持久化和存儲層面的問題,也可能會包括數(shù)據(jù)的分布、復(fù)制、同步等問題。更貼切來講,如何選擇需要的關(guān)系型數(shù)據(jù)庫、流行的NOSQL,如何保障數(shù)據(jù)存儲層面的性能、高可用性、災(zāi)備等等。很多時候,和物理架構(gòu)是有緊密聯(lián)系的,但它更關(guān)注數(shù)據(jù)存儲層面的,物理架構(gòu)更關(guān)注整個基礎(chǔ)設(shè)施部署層面。
上面講了那么多,相信國內(nèi)很少有公司是嚴(yán)格按照這五種視圖去分工和設(shè)計的。其實在筆者眼中,架構(gòu)大致分為兩種:軟件架構(gòu)、系統(tǒng)架構(gòu)。前三種視圖,可以歸納為軟件架構(gòu),而后兩種架構(gòu),則歸為系統(tǒng)架構(gòu)。這也比較符合國內(nèi)大部分中小型互聯(lián)網(wǎng)公司的現(xiàn)狀。
根據(jù)應(yīng)用特性的不同,關(guān)注側(cè)重點可能不同。例如,某些門戶類的互聯(lián)網(wǎng)應(yīng)用,讀多寫少而且業(yè)務(wù)相對比較簡單,則更加關(guān)注“高性能、可伸縮性、可用性”等方面。對于更加復(fù)雜的應(yīng)用,例如電商類大規(guī)模交易型的應(yīng)用,對每個層面和每個環(huán)節(jié)都會比較關(guān)注。對于業(yè)務(wù)型的系統(tǒng),例如一些生產(chǎn)型企業(yè)使用的ERP,或者僅供企業(yè)內(nèi)部使用的一些MIS、OA應(yīng)用,通常更關(guān)注功能和復(fù)雜的業(yè)務(wù)和實現(xiàn)和擴展,而對性能等方面又可能不要太高,這類應(yīng)用則更關(guān)注純軟件架構(gòu)層面。這里,不展開做具體討論。所以很多時候,架構(gòu)師也需要是一個團(tuán)隊,而不是一個人“全棧”。
以上就是長沙達(dá)內(nèi)教育java培訓(xùn)機構(gòu)的小編針對“深入了解Java架構(gòu)技術(shù)知識詳解”的內(nèi)容進(jìn)行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務(wù)。