簡(jiǎn)述軟件架構(gòu)模式

當(dāng)你深入到軟件工程領(lǐng)域時(shí),總有一天需要學(xué)習(xí)軟件架構(gòu)模式的基礎(chǔ)知識(shí)。我剛開始寫代碼時(shí),并不知道在哪里可以找到一些資料來簡(jiǎn)要介紹現(xiàn)有的架構(gòu)模式,這樣就不會(huì)太過詳細(xì)和混亂,而是非常抽象和易于理解。
這一直是個(gè)問題,直到我發(fā)現(xiàn)了Mark Richards的《軟件架構(gòu)模式》一書。在這里,我想與您分享這本書中最重要的部分和架構(gòu)模式。(要了解更多信息,我強(qiáng)烈建議你閱讀這本書或他的報(bào)告)。
作為軟件工程師,為什么至少要學(xué)習(xí)基本的架構(gòu)模式?
我相信有許多文章回答了這個(gè)問題,但我將給你一些參考答案。首先,如果您了解架構(gòu)模式的基礎(chǔ)知識(shí),那么您就更容易遵循架構(gòu)的需求。其次,了解這些模式將幫助您決定如何編碼:例如,如果您的應(yīng)用程序設(shè)計(jì)是基于事件驅(qū)動(dòng)的微服務(wù),作為一個(gè)軟件工程師,你必須將代碼解耦到單獨(dú)的服務(wù),應(yīng)該注意現(xiàn)有服務(wù)邏輯的復(fù)雜性和職責(zé)。(如果你沒有理解這部分,就跟隨本文,下面將簡(jiǎn)要解釋這些模式)。
Mark Richards在書中描述了5種模式:
分層架構(gòu)
事件驅(qū)動(dòng)架構(gòu)
微內(nèi)核架構(gòu)(或稱為插件架構(gòu))
微服務(wù)架構(gòu)
云架構(gòu)模式
1.分層架構(gòu)
它是單體應(yīng)用程序最常見的架構(gòu)。該模式背后的基本思想是將應(yīng)用程序邏輯劃分為幾個(gè)層,每層封裝特定的角色。例如,持久化層將負(fù)責(zé)應(yīng)用程序與數(shù)據(jù)庫(kù)的通信。

分層架構(gòu)
2. 事件驅(qū)動(dòng)架構(gòu)
此模式背后的思想是將應(yīng)用程序邏輯解耦為異步接收和處理事件的單一目的事件處理組件。該模式是一種流行的分布式異步架構(gòu)模式,以高可伸縮性和適應(yīng)性而聞名。
事件驅(qū)動(dòng)架構(gòu)
3、微內(nèi)核架構(gòu)
微內(nèi)核架構(gòu),也被稱為插件架構(gòu),是一種設(shè)計(jì)模式,它有兩個(gè)主要組件:核心系統(tǒng)和插件模塊(或擴(kuò)展)。一個(gè)很好的例子就是Web瀏覽器(核心系統(tǒng)),您可以在其中安裝無限的擴(kuò)展(或插件)。

微內(nèi)核架構(gòu)
4. 微服務(wù)架構(gòu)
微服務(wù)架構(gòu)由獨(dú)立部署的服務(wù)組成,其中每個(gè)服務(wù)在理想情況下都具有單一的職責(zé)。這些服務(wù)是相互獨(dú)立的,如果一個(gè)服務(wù)失敗,其他服務(wù)也不會(huì)停止運(yùn)行。

微服務(wù)架構(gòu)
5. 基于空間架構(gòu)(云架構(gòu))
基于空間架構(gòu)背后的主要思想是分布式共享內(nèi)存,以減輕經(jīng)常在數(shù)據(jù)庫(kù)級(jí)別發(fā)生的問題。假設(shè)通過使用內(nèi)存數(shù)據(jù)庫(kù)處理大多數(shù)的數(shù)據(jù)操作,我們可以避免額外的操作,因此解決任何未來可能發(fā)生的問題。
基本方法是將應(yīng)用程序劃分為處理單元(也可以根據(jù)需求自動(dòng)向上和向下擴(kuò)展),數(shù)據(jù)將被復(fù)制到對(duì)應(yīng)處理單元中進(jìn)行處理,這些處理單元之間沒有任何持久化的集中數(shù)據(jù)庫(kù)(盡管因?yàn)橄到y(tǒng)故障會(huì)有本地存儲(chǔ)系統(tǒng))。

基于空間架構(gòu)
推薦閱讀:
世界的真實(shí)格局分析,地球人類社會(huì)底層運(yùn)行原理
不是你需要中臺(tái),而是一名合格的架構(gòu)師(附各大廠中臺(tái)建設(shè)PPT)
企業(yè)IT技術(shù)架構(gòu)規(guī)劃方案
論數(shù)字化轉(zhuǎn)型——轉(zhuǎn)什么,如何轉(zhuǎn)?
企業(yè)10大管理流程圖,數(shù)字化轉(zhuǎn)型從業(yè)者必備!
【中臺(tái)實(shí)踐】華為大數(shù)據(jù)中臺(tái)架構(gòu)分享.pdf
華為如何實(shí)施數(shù)字化轉(zhuǎn)型(附PPT)
