您好,登錄后才能下訂單哦!
今天給大家介紹一下微服務和SOA的區別是什么。文章的內容小編覺得不錯,現在給大家分享一下,覺得有需要的朋友可以了解一下,希望對大家有所幫助,下面跟著小編的思路一起來閱讀吧。
1.ESB(enterprise service bus)
從名稱就能知道,它的概念借鑒了計算機組成原理中的通信模型——總線,所有需要和外部系統通信的系統,統統接入ESB,豈不是完美地兼容了現有的互相隔離的異構系統,可以利用現有的系統構建一個全新的松耦合的異構的分布式系統。
但,實際使用中,它還是會有很多的缺點,首先就是ESB的本身就很復雜,大大增加了系統的復雜性和可維護性。其次就是由于ESB想要做到所有服務都通過一個通路通信,直接降低了通信速度。
而在現代的微服務中,使用輕量級的通信機制,每個服務有自己的處理邏輯,它知道它要找的服務在哪里,不需要在通信的鏈路上做什么。
2. 服務化的概念和服務的尺寸
SOA的出現其實是為了解決歷史問題:企業在信息化的過程中會有各種各樣互相隔離的系統,需要有一種機制將他們整合起來,所以才會有上邊所述的ESB的出現。同樣的,也造成了SOA初期的服務是很大的概念,通常指定的一個可以獨立運作的系統(這樣看,好像服務間天然的松耦合)。這種做法相當于是「把子系統服務化」。
而微服務沒有歷史包袱,輕裝上陣,服務的尺寸通常不會太大,關于服務的尺寸,在實際情況中往往是一個服務應該能夠代表「實際業務場景中的一塊不可分割或不易分割的業務實體」。將服務的尺寸控制在一個較小的體量可以帶來很多的好處。
3. 通信協議
如今越來越多的工程開始使用RESTful來作為API的設計的基礎,但僅僅幾年前還有大把的API使用SOAP、WSDL等基于XML的重量級協議的Web Service。這點和上文說到的2點其實大同小異,仔細想想,它們都是由于歷史原因造成的,同樣的,通信協議經過這些年的發展,現在主流的基本上了兩種:
文本協議使用最廣泛的多是基于HTTP的RESTful規范
輕量級二進制協議Thrift、Protobuf,或者任何自定義的輕量級協議
MSA的優勢
1.服務粒度比較小,實現簡單,更易于實現低耦合、高內聚
2.分布式部署,可獨立維護
3.在某個服務的壓力大的時候可以加實例實現水平擴展
4.更易于關注實際業務場景
以上就是微服務和SOA的區別是什么的全部內容了,更多與微服務和SOA的區別是什么相關的內容可以搜索億速云之前的文章或者瀏覽下面的文章進行學習哈!相信小編會給大家增添更多知識,希望大家能夠支持一下億速云!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。