更新時間:2023-07-06 來源:黑馬程序員 瀏覽量:
架構,又名軟件架構,是有關軟件整體結構與組件的抽象描述,用于指導大型軟件系統各個方面的設計。
Java企業級的應用根據業務的復雜程度,通常使用的系統架構有應用架構、垂直應用架構、面向服務的架構(Service-Oriented Architecture,SOA)、微服務架構等。
項目架構的選擇在項目準備過程中占據著重要的位置,除此之外技術架構的選擇也是項目準備過程中必不可少的一個環節,接下來將針對項目架構和技術架構的選擇進行詳細講解。
單體應用架構是把所有業務場景的表示層、業務邏輯層和數據訪問層放在一個工程中,經過編譯打包,部署在一臺服務器上。
單體應用架構開發的進銷存系統
優點:項目架構簡單,技術結構單六,前期用人成本低,適合小型系統的開發。
缺點:隨著業務復雜度的增加,功能越來越多,代碼量越來越大,會導致代碼可讀性、可維護性和可擴展性下降。由于系統過大且關聯較多,任何一個ug都有可能導致整個系統宕機。
垂直應用架構將單體應用拆分成若干個獨立的小應用,每個小應用獨立的部署到不同的服務器上,以提升效率。
垂直應用架構開發的進銷存系統
優點:通過垂直拆分實現流量分擔,減輕服務器壓力;可以針對不同的應用進行優化,方便水平擴展,容錯率提高。
缺點:當垂直應用越多,應用之間可能發生相互調用,不同應用之間可能出現數據、代碼、功能冗余。
SOA是面向服務的架構,它將應用程序的不同功能單元(簡稱服務)進行拆分,并通過這些服務之間定義的接口和協議將其聯系起來。
SOA開發的進銷存系統
優點:將公共的功能抽取為服務,提高開發效率;各個服務之間耦合度低,可讀性和可維護性比較好。
缺點:抽取服務的粒度較大,服務提供方與調用方接口耦合度較高。
微服務架構是SOA架構的升級,每一個服務就是一個獨立的部署單元,服務之間的耦合性很低。
微服務架構開發的進銷存系統
優點:開發模式更加靈活;微服務的.獨立打包、部署和升級,使小團隊的交付周期將縮短,運維成本下降。
缺點:對技術要求較高;微服務過多會造成服務管理成本提高,不利于系統維護,服務拆分粒度過細也會導致、系統變得凌亂和笨重。
在開發時通常會根據不同的需求將項目拆分為多個層次處理,開發者可以根據不同的需求由其相對應的技術棧提供解決方案。