如何通俗地理解 面向服務的架構(SOA) ,它的優點是什麼,可應用於哪些領域?

時間 2021-05-05 20:36:54

1樓:Pickle Pee

SOA 沒什麼優點,能應用的領域就是幫助傳統企業整合異構的老系統。

說到 SOA 就必須提到 ESB(Enterprise Service Bus),即企業服務匯流排。傳統企業各種歷史遺留的老系統對外提供的服務介面標準不統一,比如協議有的用 HTTP 有的用 JMS,資料格式有的用 XML 有的用 JSON 還有直接二進位制的。ESB 就是要完成各種協議和資料格式的互相轉換,讓各個異構服務可以方便地相互呼叫,但是各種協議和資料格式的轉換工作量可能很大,ESB 本身容易成為效能瓶頸,所以 SOA 的 ESB 設計也是無奈之舉。

網際網路行業通常比較年輕,沒有那麼多歷史包袱。就算有,技術部往往也有大量的財力人力做重構,所以 SOA 和 ESB 這種東西就比較遙遠。

到這裡就避不開那個經典的問題了,SOA 和微服務有什麼區別?可以從兩個方面去對比。

1、SOA 是對多個系統做整合,更多考慮的是相容已有的系統;而微服務是將乙個系統做拆分,要考慮高內聚低耦合,輕量靈活、快速迭代。

2、Martin Fowler 說微服務是「聰明的終端,愚蠢的管道」(Smart Endpoints and Dumb Pipes),其中的「Dump Pipes」就是與 ESB 對比的,因為 ESB 知道的事情太多了,而微服務的 Pipes 僅僅做訊息傳遞,使用的是輕量且風格統一的介面(比如 HTTP Restful),無須在介面層進行 SOA 的 ESB 那樣的複雜處理。

如何通俗簡單地理解 Inbound Marketing 和 Outbound Marketing

吳嘉陽 簡單一句話,以客戶需求的強烈程度分 主動營銷 inbound marketing 使用者需求相對較高,使用者主動索取產品相關資訊 和被動營銷 outbound marketing 使用者需求相對較低,被動被強推來索取產品資訊 劉延飛 Inbound marketing會慢慢成為marketi...

如何通俗地理解Hive的工作原理?

普適極客 謂詞下推 就是將SQL語句中的where謂詞邏輯都盡可能提前執行,減少下游處理的資料量。Hive中有謂詞下推優化的配置項hive.optimize.ppd,預設值true,與它對應的邏輯優化器是PredicatePushDown。該優化器就是將OperatorTree中的FilterOpe...

如何最簡單 通俗地理解Softmax演算法?

老杜 softmax就是soft版本的max,理解了soft的含義就理解softmax了。什麼叫soft版本?我們先看看普通的max,以及普通max hard在什麼地方。比如說三個數x 2,1,5 求max x 小學生都會,答案是5,很簡單.如果以向量的方式表達這個對映關係,也可以表示成max x ...