系统架构设计师 - 单体架构、SOA架构、微服务架构
文章目錄
- 橫向對比
- SOA
- 設計原則
- 主要技術
- UDDI 統一描述發現集成
- SOAP 簡單對象訪問協議
- WSDL web服務描述語言
- BPEL 業務過程執行語言
- REST 表述性狀態轉移
- 實現方法
- WebService
- ESB
- 服務注冊表
- 主要問題
橫向對比
| 特點 | 復雜性高、技術債務逐漸上升、部署速度越來越慢、擴展能力受限、阻礙技術創新 | ||
| 組件大小 | 單體,大 | 按服務分割成大塊的邏輯 | 小塊業務邏輯 |
| 耦合 | 緊耦合 | 較松耦合 | 松耦合 |
| 公司架構 | 單體 | 小型、功能交叉的團隊 | |
| 管理 | 著重中央管理 | 分散管理 | |
| 目標 | 確保應用交互 | 新功能快速拓展 | |
SOA
一種粗粒度、松耦合的服務架構,每個功能被封裝為獨立的服務,服務間通過定義精確良好的接口進行通信,客戶端可以按一定順序調用這些服務形成業務邏輯。服務間交互不必關注各自的實現細節,和部署的操作系統環境。SOA中單個服務是基于ODD設計的,但總體上是面向服務的。
設計原則
粗粒度:服務能劃分就劃分到一起
松耦合:服務間通過接口進行交互,服務實現實現服務接口,
內包含模塊化:高度內聚
定義精確穩定:服務的定義要精確,防止錯誤使用,也要穩定
主要技術
UDDI 統一描述發現集成
服務發布查找規范。定義服務信息注冊規范,以便被需要該服務的用戶查找并使用。定義服務概念,定義編程接口,用戶可根據該接口發布自己的服務,或發現需要的服務以滿足業務場景。包括內容:數據模型(描述服務發布查找的相關內容)、API(提供標準的服務發布、服務查找的API接口)、注冊服務(注冊中心角色,服務請求者和服務提供者的紐帶)
SOAP 簡單對象訪問協議
分布式環境下,基于XML的信息交互協議,定義服務請求者和服務提供者的信息通訊規范。通過XML格式化信息,通過HTTP承載信息,包括:封裝(封裝一個框架以描述消息發送者、消息提供者、消息具體內容、接收后處理方式)、編碼規則(定義序列化機制,用以傳輸應用間交互的數據類型的實例)、RPC(RPC定義遠程過程調用和應答協議)、綁定(綁定底層框架協議,以傳輸SOAP封裝)。SOAP消息內容包括:封裝(必選,封裝頂層元素)、SOAP頭(可選,接收后處理方式等元素)、SOAP體(實際傳遞消息內容的容器)
WSDL web服務描述語言
描述WEB服務和如何與WEB服務進行通訊的XML語言。描述了三個內容:服務功能、服務數據格式和協議、協議地址端口地址。分為服務接口定義和服務實現定義兩種。
BPEL 業務過程執行語言
基于XML的業務過程編程語言,每個業務過程是由WEB服務實現,可以通過排序、組合等自上而下的實現面向服務架構。多個WEB服務可以組合成一個大的組織結構,可以為視為一個WEB服務被使用或參與更大的組織結構。
REST 表述性狀態轉移
基于HTTP和XML的WEB通訊技術,能夠降低開發難度,提高伸縮性。三個關注點分離(資源、資源的表示、資源的操作)。所有的事物都抽象為資源,每個資源都有唯一標志,通過標準統一的操作接口對資源進行操作,對資源操作不會修改資源狀態。
實現方法
WebService
分為三個角色,服務提供者(服務所有者,負責定義并實現服務。通過WSDL描述服務特征,通過UDDI將服務發布到注冊中心,以便被查找使用)、服務請求者(服務使用則,通過UDDI在注冊中心查找相應服務,或直接通過WSDL查找服務特征,然后通過SOAP綁定服務進行調用。可以是服務或瀏覽器)、服務注冊中心(服務提供者和服務發現者的紐帶,服務提供者發布,服務請求者查找,可選角色,當靜態綁定時,可以沒有注冊中心)
ESB
傳統中間件技術和XML、WEB服務等結合的產物,主要支持異構系統集成,具備復雜數據的傳輸能力,支持基于內容的路由和增強,并提供統一的一致的接口。
服務注冊表
主要用于SOA設計,通過策略執行點,完成服務的注冊,以便被查找并使用。
主要問題
服務設計和劃分粒度、
SOA服務流程組織、
SOA與原系統集成
SOA
總結
以上是生活随笔為你收集整理的系统架构设计师 - 单体架构、SOA架构、微服务架构的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: html 基本结构
- 下一篇: Windows 配置Git 篇