架構風格與基於網路的軟體架構設計(Restful)

2021-08-29 09:38:40 字數 833 閱讀 1121

軟體架構是對軟體系統執行時狀態的抽象,乙個軟體架構是乙個軟體系統在其操作的某個階段的執行時(run-time)元素的抽象。乙個系統可能由很多層抽象和很多個操作階段組成,每個抽象和操作階段都有自己的軟體架構

軟體架構可以通過動態新增約束來獲取不同的架構屬性 

performance:網路效能(吞吐量、負載、頻寬)、使用者可察覺效能(動作延遲、動作完成時間)、網路效率(網路利用)

scalability:可伸縮性(元件間互動能力)

simplicity:簡單性(複雜性、可理解性、可驗證性)

modifiability:可進化性(元件間的耦合程度)、可擴充套件性(動態擴充套件能力)、可定製性(臨時性增加元素的能力)、可配置性、可重用性

visibility:可見性(通用介面)

portability:可移植性

reliability:可靠性(應對故障的能力)

客戶-伺服器:分離關注點以獲得可伸縮性

無狀態:一次通訊包含了服務端需要的全部資訊,從而獲得了可見性(不依賴於上下文)。系統在從故障中恢復時,此次通訊不需要查詢通訊上下文即可恢復,增加了系統的可靠性。多個通訊元件間不需要儲存通訊上下文,增加了元件間的互動能力,從而改善了系統的可伸縮性。

快取:降低可靠性,獲得了效能提公升

統一介面:增加互動的可見性,簡化了系統架構,提公升系統的可進化性。代價是降低了在特定場景下的通訊效率

分層系統:分層處理,降低使用者的可見性,帶來了更好的可伸縮性

資源:資源而非文件。

shadow:對資源的操作而回答問題

語義繫結:

可擴充套件性、自描述資訊、效能。這個部分可以參見http協議

軟體架構設計 架構師筆記,軟體架構設計

架構設計是分與合的藝術 通讀並總結了溫昱老師的 軟體架構設計 並有幸聽過李哲珠博士對架構設計的講解。對其讀後的自我領悟並提煉出核心內容分享出來,希望從思想高度上能提公升你對軟體架構設計的認知。架構設計 架構設計不等於框架設計,框架也可能有架構,所有的原子元件 被拆分的模組 都需要架構設計,所有元件可...

各種軟體架構風格

1 管道和過濾器風格 每個構件都有一組輸入和輸出,每個構件稱為乙個過濾器。連線過濾器被稱為管道。2 物件導向 3 基於事件的隱式呼叫過程 系統中的其他構件的過程在乙個事件或者多個事件中被註冊,一旦觸發就被呼叫 4 層次系統風格 使用者系統 基本工具 核心層 比如說目前廣泛應用的網際網路封層通訊協議 ...

REST軟體架構風格

一 rest概念 全稱representational state transfer 表達性狀態轉移 是一種軟體 設計分布式系統的 架構風格。是一種 針對網路應用 的設計和開發方式,可以降低開發的複雜性,提高系統的可伸縮性。二 基本含義 rest 表述性狀態轉移 是一組架構約束條件和原則。滿足這些約...