今天就跟大家聊聊有關SOA和微服務架構的區別是什么,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
首先,可以肯定的是SOA和微服務的確是一脈相承的,大神Martin Fowler提出來這一概念可以說把SOA的理念繼續升華,精進了一步。其核心思想是在應用開發領域,使用一系列微小服務來實現單個應用的方式途徑,或者說微服務的目的是有效的拆分應用,實現敏捷開發和部署 ,可以是使用不同的編程語言編寫。而SOA可能包含的意義更泛一些,更不準確一些。
其次,從實現方式上,兩者都是中立性,語言無關,協議跨平臺,相比SOA,微服務框架將能夠帶來更大的敏捷性,并為你構建應用提供更輕量級、更高效率的開發。而SOA更適合大型企業中的業務過程編排、應用集成。另外還有微服務甚至是去ESB、去中心化、分布式的,而SOA還是以ESB為核心,大量的WS標準實現。
再次,從服務粒度上,既然是微,必然微服務更倡導服務的細粒度,重用組合,甚至是每個操作(或方法)都是獨立開發的服務,足夠小到不能再進行拆分。而SOA沒有這么極致的要求,只需要接口契約的規范化,內部實現可以更粗粒度,微服務更多為了可擴充性、負載均衡以及提高吞吐量而去分解應用,但同時也引發了打破數據模型以及維護一致性的問題。
最后,從部署方式上,這個是最大的不同,對比Monolithic(有人翻譯為單體)的Java EE部署架構,通過展現層打包WARs,業務層劃分到JARs最后部署為EAR一個大包,而微服務則打開了這個黑盒子,把應用拆分成為一個一個的單個服務,應用Docker技術,不依賴任何服務器和數據模型,是一個 全棧應用,可以通過自動化方式獨立部署,每個服務運行在自己的進程中,通過輕量的通訊機制聯系,經常是基于HTTP資源API,這些服務基于業務能力構建,能實現集中化管理。
看完上述內容,你們對SOA和微服務架構的區別是什么有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。