SOA和微服务之间的区别
近幾年,我們有很多文章對SOA和微服務之間的不同點和相似點進行了分析。有些人認為SOA有很多地方是值得微服務學習的,而有些人則認為區別對待微服務和SOA會更好。而Neal Ford認為,將單體遷移到面向服務的架構要比遷移到微服務來得容易。關于選擇SOA還是微服務的話題,最近并沒有太多的爭論,直到Redmonk的Stephen O'Grady發表了他的文章,這個話題再次進入了人們的視野。O'Grady在他的文章里說到,服務的大小不應該成為關鍵的決定性因素。這些年來,人們也一直在爭論這個觀點,比如Dan North。而Jeppe Cramon也說過:
單純使用服務大小來定義微服務有失偏頗,也難以確定一個微服務是否被賦予了正確的職責……
O'Grady相信,SOA和微服務之間有著千絲萬縷的聯系:
在過去,SOA存在的一些缺陷導致它變成企業的幻象,就像今天那些使用了微服務云原生架構的激進型組織一樣。如果我們深入到SOA的核心,我們會發現,SOA的本意是說架構應該由服務組成,而不是單體。
O'Grady在他的文章里通過Google Trends生成了一些圖表,其中第一張圖表顯示了SOA在整個行業歷史上曾經有一小段時期處于流行的高峰狀態。
Stephen認為,通過服務大小來區分SOA和微服務將有礙找出導致SOA沒落與微服務崛起的真正原因,SOA是由廠商驅動的,而微服務更多的是由開發者來驅動。
因為AWS的大肆成功,我們無法否認基于服務驅動的平臺確實是構建可伸縮平臺的一種有效方式,也無法否認它們在現今所取得的主導地位。但值得注意的是,現今基于服務的平臺一般是由開發者來驅動的。而SOA最初由大型的廠商來驅動,基于拜占庭式的復雜(一般帶有政治性質)的標準框架來構建服務,而這些標準并不為開發者所接受。
O'Grady在文章中提到,微服務在好的方面和不好的方面都借鑒了SOA。
微服務比單體更容易開發,而且沒有了SOA的廠商標準累贅。
在過去幾年,還有其他的一些人也表達了類似的觀點,Asanka說:
如今,企業正在轉向更干凈的SOA,開始擁抱MSA。或許最大的看點是組件化,以及微服務提供的單一功能能夠被快速地部署成組件,在必要的時候可以很容易地進行伸縮。不管怎樣,這是一種很新奇的概念。
其中的第二張Google Trends圖表也很有趣。
原文地址:http://www.infoq.com/cn/news/2017/07/soaandmicroservices
.NET社區新聞,深度好文,微信中搜索dotNET跨平臺或掃描二維碼關注
總結
以上是生活随笔為你收集整理的SOA和微服务之间的区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Entity Framework Cor
- 下一篇: 全文索引 - Pomelo.EFCore