傳統的可擴充套件架構模式 分層架構和SOA

2022-09-18 21:06:12 字數 1457 閱讀 8846

分層架構

分層架構是很常見的架構模式,它也叫 n 層架構,通常情況下,n 至少是 2 層。例如,c/s 架構、b/s 架構。常見的是 3 層架構(例如,mvc、mvp 架構)、4 層架構,5 層架構的比較少見,一般是比較複雜的系統才會達到或者超過 5 層,比如作業系統核心架構。

按照分層架構進行設計時,根據不同的劃分維度和物件,可以得到多種不同的分層架構。

c/s 架構、b/s 架構

劃分的物件是整個業務系統,劃分的維度是使用者互動,即將和使用者互動的部分獨立為一層,支撐使用者互動的後台作為另外一層。例如,下面是 c/s 架構結構圖。

mvc 架構、mvp 架構

劃分的物件是單個業務子系統,劃分的維度是職責,將不同的職責劃分到獨立層,但各層的依賴關係比較靈活。例如,mvc 架構中各層之間是兩兩互動的

邏輯分層架構

邏輯分層架構中的層是自頂向下依賴的。典型的有作業系統核心架構、tcp/ip 架構。如android 作業系統架構圖

無論採取何種分層維度,分層架構設計最核心的一點就是需要保證各層之間的差異足夠清晰,邊界足夠明顯,讓人看到架構圖後就能看懂整個架構。

分層架構之所以能夠較好地支撐系統擴充套件,本質在於隔離關注點(separation of concerns),即每個層中的元件只會處理本層的邏輯。而且分層時要保證層與層之間的依賴是穩定的,才能真正支撐快速擴充套件

分層結構的另外乙個特點就是層層傳遞,一旦分層確定,整個業務流程是按照層進行依次傳遞的,不能在層之間進行跳躍。

分層結構的這種約束,好處在於強制將分層依賴限定為兩兩依賴,降低了整體系統複雜度

分層架構另外乙個典型的缺點就是效能,因為每一次業務請求都需要穿越所有的架構分層,有一些事情是多餘的,多少都會有一些效能的浪費。當然,這裡所謂的效能缺點只是理論上的分析,實際上分層帶來的效能損失,如果放到 20 世紀 80 年代,可能很明顯;但到了現在,硬體和網路的效能有了質的飛越,其實分層模式理論上的這點效能損失,在實際應用中,絕大部分場景下都可以忽略不計。

soasoa 的全稱是 service oriented architecture,中文翻譯為「面向服務的架構」。

為了應對傳統 it 系統存在的問題,soa 提出了 3 個關鍵概念。

ps:為什麼網際網路企業很少採用 soa 架構?

答:soa是把多個系統整合,而微服務是把單個系統拆開來,方向正好相反

分層與架構模式

1 企業應用計算的演變 這個我們應該是在學html的時候就已經學習了一部分了,現在再來回憶一些理論知識!主機 啞終端的集中計算模式 大型主機管理和控制應用程式的所有方面,包括業務處理 資料管理和螢幕顯示。使用者一般通過只有乙個螢幕 乙個鍵盤和一根主機連線線的 啞終端 與主機的應用程式進行互動。缺點 ...

分層體系架構模式

一般資訊系統中最常見的是如下所列的4層。使用場景 注意每一層都是封閉的.這意味著request必須經過每一層才能到達最底下一層.為什麼不允許展示層直接訪問資料庫層呢,這樣不是更快嗎?這就是分層架構的另乙個特徵 層隔離 layers of isolation 層隔離的概念意味著你對任何一層的改變都不會...

《企業應用架構模式》 分層

在系統的分層組織方式下,上層通過介面使用下層定義的各種服務,下層對上層一無所知。每一層都對自己的上層隱藏其下層的細節,因此第4層無需知道第2層的細節。分層的好處 1.可以專注理解某一層,無需過多了解其他層次 2.可以替換某層的具體實現,只要前後提供的服務 介面 相同即可 3.可以將層次間的依賴性減到...