SOA架構設計的案例分析

2022-08-03 16:00:22 字數 1509 閱讀 4525

soa為面向服務架構,它將應用程式的不同功能單元(稱為服務)進行拆分,並通過這些服務之間定義良好的介面和契約聯絡起來。乙個服務通常以獨立的形式存在與作業系統程序中。各個服務之間通過網路呼叫。微服務是在 soa 上做的昇華,強調的乙個重點是「業務需要徹底的元件化和服務化」,原有的單個業務系統會拆分為多個可以獨立開發、設計、執行的小應用。這些小應用之間通過服務完成互動和整合。微服務架構 = 80%的soa服務架構思想 + 100%的元件化架構思想 + 80%的領域建模思想。

soa架構的特點為:系統整合:站在系統的角度,解決企業系統間的通訊問題,把原先散亂、無規劃的系統間的網狀結構,梳理成規整、可治理的系統間星形結構,這一步往往需要引入 一些產品,比如 esb、以及技術規範、服務管理規範,解決的核心問題是【有序】;系統的服務化:站在功能的角度,把業務邏輯抽象成可復用、可組裝的服務,通過服務的編排實現業務的快速再生,目的:把原先固有的業務功能轉變為通用的業務服務,實現業務邏輯的快速復用,解決的核心問題是【復用】;業務的服務化:站在企業的角度,把企業職能抽象成 可復用、可組裝的服務;把原先職能化的企業架構轉變為服務化的企業架構,進一步提公升企業的對外服務能力;「前面兩步都是從技術層面來解決系統呼叫、系統功能復用的問題」。第三步,則是以業務驅動把乙個業務單元封裝成一項服務,解決的核心問題是【高效】。

在下面soa元件圖中,服務和服務消費者(客戶端)之間存在多個約束,當乙個服務顯式暴露後,客戶端能夠通過繫結定位到該服務,相當於兩者簽訂了合同,規定了合同內容和如何實施,具體合同的描述是通過訊息方式進行:

面向服務的架構soa更加貼近業務客戶,也更適合業務夥伴之間流程整合,各個行業已經誕生自己行業特點的soa,例如電信聯盟的ngoss,已經成為電信行業業務支撐系統boss的標準。soa不但是技術用語,也是業務銷售用語,通過服務這個中間概念,可以實現業務和技術之間的無縫轉換,如今soa已經和rest rdd以及雲計算等新技術方法結合。

實現服務真正自治,實際就是解決類之間依賴耦合的問題,訊息是一種方式,但是基於訊息又有兩種通訊方式,基於請求響應和基於事件的eda。

從服務自治可以看出,為什麼要提出服務必須自治,因為服務是受管制的,在實際業務活動中,不同服務是被不同部分管理,比如定價服務歸屬財務部門系統,庫存歸屬倉庫系統,涉及系統之間呼叫協調不能自己使用同步rpc,而是需要訊息。

在實際應用中,很多單位使用soa主要看中其能夠無縫整合新舊系統,稱為eai企業應用整合,下圖是蘇寧的一種soa圖,使用esb企業服務匯流排這樣的訊息系統整合了新舊各種系統。

soa使用者要根據自己業務進行模組劃分,進行領域建模設計,根據ddd領域驅動設計將業務分解為乙個上下文模組,然後再用服務作為對外介面,內部封裝的是ddd聚合根,而傳統soa作法是內部封裝的是資料表的dto,從而導致soa服務內部腐爛堵塞,違背soa自治和可用性等原則約束。

soa架構和微服務架構的區別

soa面向服務架構

SOA架構設計

架構是 套構建系統的準則,通過這套準則,把 個複雜的系統劃 分為一套更簡單的子系統的集合,這些子系統之間保持相互獨立,並與 整個系統保持一致,而且每 個子系統還可以繼續細分下去,從而構成 個企業級架構。soa是一種面向企業級服務的系統架構,簡單來說,soa就是一種 進行系統開發的新的體系架構,在基於...

SOA架構設計概要

主要內容也是來自 stevey對amazon和google平台的長篇大論 我們理解的soa必然是通過介面的方式將資料與功能開放出來的,但要想要往平台方向發展,必須保證用且僅用服務介面的形式提供資料和服務 團隊間的程式模組的資訊通訊,都要通過這些介面 除此之外沒有其它的通訊方式。其他形式一概不允許 不...

企業SOA架構案例分析

面向服務的架構 soa 是乙個元件模型,它將應用程式的不同功能單元 稱為服務 進行拆分,並通過這些服務之間定義良好的介面和契約聯絡起來。介面是採用中立的方式進行定義的,它應該獨立於實現服務的硬體平台 作業系統和程式語言。這使得構建在各種各樣的系統中的服務可以以一種統一和通用的方式進行互動。傳統統的兩...