微服務架構與傳統SOA幾個主要區別

2021-08-20 05:44:16 字數 691 閱讀 5088

一、從服務拆分粒度考慮,微服務體系中的微服務是單一用途的(做一件事,做好它),而在soa架構中,服務元件大小可以是小型應用程式服務,也可以是大型的企業應用服務。在很多使用soa架構的系統中,粒度很大,單個服務經常就是某個大型的產品,甚至是整個乙個子系統。

二、元件共享:元件共享是soa的核心原則之一。事實上,元件共享是企業服務的全部內容。soa架構增強了元件共享,而微服務架構msa則試圖通過「有界的上下文」來進行最小化共享。「有界上下文」指的是乙個元件和它的資料之間的組合,它們屬於乙個具有最小依賴關係的單元。一般來說由於soa依賴於多個服務來實現業務請求,因此構建在soa上的系統可能比msa慢。

三、中介軟體vs api閘道器層:微服務體系結構模式通常具有api層,而soa則有乙個訊息傳遞中介軟體元件。soa中的訊息傳遞中介軟體提供了許多在微服務msa中沒有發現的額外功能,包括中介和路由、訊息增強、訊息和協議轉換。msa在服務和服務使用者之間有乙個api層。

四、遠端服務:soa架構依賴於訊息傳遞(amqp、msmq)和soap作為主要的遠端訪問協議。大多數msas依賴於兩個協議——rest和簡單訊息傳遞(jms, msmq)。

五、異構互操作性:soa通過其訊息傳遞中介軟體元件可進行異構協議互相呼叫。msa試圖通過減少整合的選擇數量來簡化體系結構模式。如果您希望在異構環境中使用不同的協議整合多個系統,那麼您需要考慮soa。如果您的所有服務都可以通過相同的遠端訪問協議訪問,那麼msa是乙個更好的選擇。

微服務與SOA

過去的幾年來,微服務 這個術語逐漸得到關注,它描述的是由一系列更小的服務所組成的架構。在qcon san francisco 2012上,thoughworks的james lewis針對這個概念發表了演講,同時還就這個話題與martin fowler合作撰寫了一篇文章。最近,steve jones...

微服務架構與SOA架構的區別與聯絡

如果我們開啟支付寶首頁,去看我們的餘額,它會展示你的總資產,昨日收益 累計收益等資訊。假如這個頁面所展示的資訊,都來自各個不同的系統 應用,我們通過各個介面把這些資料展示出來。如果我們現在要在前端頁面展示這幾項資料的話,我們應該怎麼去展示呢?在這種情況下,我們不可能讓客戶端與6個不同的應用 系統都一...

微服務架構與SOA架構的區別與聯絡 copy

如果我們開啟支付寶首頁,去看我們的餘額,它會展示你的總資產,昨日收益 累計收益等資訊。假如這個頁面所展示的資訊,都來自各個不同的系統 應用,我們通過各個介面把這些資料展示出來。如果我們現在要在前端頁面展示這幾項資料的話,我們應該怎麼去展示呢?在這種情況下,我們不可能讓客戶端與6個不同的應用 系統都一...