日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

什么是微服務(wù)架構(gòu),微服務(wù)框架

SOA和微服務(wù)架構(gòu)的區(qū)別是什么?

什么是微服務(wù)架構(gòu),微服務(wù)框架


筆者目前就職于國內(nèi)知名互聯(lián)網(wǎng)公司,做過toG和toB的私有化項(xiàng)目的微服務(wù)架構(gòu)設(shè)計(jì),也做過大型產(chǎn)品層面的微服務(wù)架構(gòu)設(shè)計(jì),就SOA和微服務(wù)架構(gòu)的區(qū)別這個(gè)問題,來談一談我的看法 。不同的聲音某些針對(duì)微服務(wù)架構(gòu)的批評(píng)聲稱微服務(wù)其實(shí)就是SOA,并沒有新鮮的內(nèi)容 。在某些層面,它們的確有些相似 。SOA和微服務(wù)架構(gòu)都是特定的架構(gòu)風(fēng)格,它們都以一系列服務(wù)的方式來把一個(gè)系統(tǒng)組織在一起 。
但如果深入研究,你就會(huì)發(fā)現(xiàn)微服務(wù)和SOA之間巨大的差異 。SOA與微服務(wù)差異SOA與微服務(wù)的差異主要體現(xiàn)在三個(gè)方面:服務(wù)間通信、數(shù)據(jù)管理、服務(wù)規(guī)模:1 服務(wù)間通信SOA和微服務(wù)架構(gòu)通常采用完全不同的技術(shù)棧:SOA采用智能管道,如Enterprise Service Bus(ESB,是包含了業(yè)務(wù)和消息處理的智能管道),往往采用重量級(jí)協(xié)議,例如SOAP或其他WS*標(biāo)準(zhǔn);微服務(wù)使用啞管道,例如消息代理,或者服務(wù)之間點(diǎn)對(duì)點(diǎn)通信,例如restfull請(qǐng)求或者grpc類的輕量級(jí)協(xié)議 。
2 數(shù)據(jù)管理SOA和微服務(wù)架構(gòu)在處理數(shù)據(jù)的方式上也不盡相同:SOA采用全局?jǐn)?shù)據(jù)模型并共享數(shù)據(jù)庫;微服務(wù)架構(gòu)則是每個(gè)服務(wù)都有自己的數(shù)據(jù)模型和數(shù)據(jù)庫 。更進(jìn)一步,每一個(gè)服務(wù)一般都擁有屬于它自己的領(lǐng)域模型 。(筆者后續(xù)會(huì)有文章專門講述領(lǐng)域模型設(shè)計(jì))3 服務(wù)規(guī)模SOA和微服務(wù)架構(gòu)之間的另一個(gè)重要區(qū)別就是服務(wù)的尺寸(規(guī)模):SOA善于集成大型、復(fù)雜的單體應(yīng)用程序;微服務(wù)則是拆分為較小的服務(wù)SOA與微服務(wù)架構(gòu)圖一個(gè)典型的SOA系統(tǒng)架構(gòu)如下:一個(gè)典型的微服務(wù)架構(gòu)如下: 。
系統(tǒng)軟件架構(gòu)中,現(xiàn)在很流行微服務(wù),那么使用微服務(wù)就一定好么?微服務(wù)有哪些缺點(diǎn)呢?
什么是微服務(wù)架構(gòu),微服務(wù)框架


下面簡(jiǎn)單回答下這個(gè)問題 。在回答這個(gè)問題前還是先回顧下微服務(wù)架構(gòu) 。微服務(wù)架構(gòu)概述微服務(wù)架構(gòu)本質(zhì)是單個(gè)業(yè)務(wù)系統(tǒng)徹底的組件化(前端,邏輯層,數(shù)據(jù)庫)解耦,同時(shí)相互之間通過輕量的服務(wù)接口和協(xié)議進(jìn)行協(xié)同 。這和很早就談到的組件化架構(gòu)思想是一致的,實(shí)現(xiàn)微服務(wù)架構(gòu)后,你會(huì)看到?jīng)]有傳統(tǒng)業(yè)務(wù)系統(tǒng)的概念了,有的只是微服務(wù)模塊或小應(yīng)用 。
【什么是微服務(wù)架構(gòu),微服務(wù)框架】微服務(wù)架構(gòu)最近又炒的相當(dāng)活,很多人會(huì)說SOA過時(shí)了,ESB過時(shí)了,甚至還有人用微服務(wù)架構(gòu)去徹底的否定SOA和ESB,這些都是相當(dāng)危險(xiǎn)的信號(hào) 。在我12,13年寫企業(yè)私有云PaaS平臺(tái)的一系列文章的時(shí)候,已經(jīng)提出了業(yè)務(wù)能力組件化,組件服務(wù)化的微服務(wù)架構(gòu)思想,但是實(shí)際應(yīng)用實(shí)施效果并不太理想 。我們可以先看下從單體應(yīng)用到微服務(wù)架構(gòu)的變化圖 。
把這個(gè)核心搞清楚后,再來看下網(wǎng)上找到的對(duì)微服務(wù)架構(gòu)的一些定義和闡述:微服務(wù)可以在“自己的程序”中運(yùn)行,并通過“輕量級(jí)設(shè)備與HTTP型API進(jìn)行溝通” 。關(guān)鍵在于該服務(wù)可以在自己的程序中運(yùn)行 。通過這一點(diǎn)我們就可以將服務(wù)公開與微服務(wù)架構(gòu)(在現(xiàn)有系統(tǒng)中分布一個(gè)API)區(qū)分開來 。在服務(wù)公開中,許多服務(wù)都可以被內(nèi)部獨(dú)立進(jìn)程所限制 。
如果其中任何一個(gè)服務(wù)需要增加某種功能,那么就必須縮小進(jìn)程范圍 。在微服務(wù)架構(gòu)中,只需要在特定的某種服務(wù)中增加所需功能,而不影響整體進(jìn)程 。微服務(wù)不需要像普通服務(wù)那樣成為一種獨(dú)立的功能或者獨(dú)立的資源 。定義中稱,微服務(wù)是需要與業(yè)務(wù)能力相匹配,這種說法完全正確 。不幸的是,仍然意味著,如果能力模型粒度的設(shè)計(jì)是錯(cuò)誤的,那么,我們就必須付出很多代價(jià) 。

推薦閱讀