微服務(wù)和分布式的區(qū)別詳解
分布式架構(gòu)是分布式計算技術(shù)的應(yīng)用和工具,目前成熟的技術(shù)包括J2EE, CORBA和.NET(DCOM),這些技術(shù)牽扯的內(nèi)容非常廣,相關(guān)的書籍也非常多,也沒有涉及這些技術(shù)的細節(jié),只是從各種分布式系統(tǒng)平臺產(chǎn)生的背景和在軟件開發(fā)中應(yīng)用的情況來探討它們的主要異同。
微服務(wù)架構(gòu)是一項在云中部署應(yīng)用和服務(wù)的新技術(shù)。大部分圍繞微服務(wù)的爭論都集中在容器或其他技術(shù)是否能很好的實施微服務(wù),而紅帽說API應(yīng)該是重點。
微服務(wù)可以在“自己的程序”中運行,并通過“輕量級設(shè)備與HTTP型API進行溝通”。關(guān)鍵在于該服務(wù)可以在自己的程序中運行。通過這一點我們就可以將服務(wù)公開與微服務(wù)架構(gòu)(在現(xiàn)有系統(tǒng)中分布一個API)區(qū)分開來。在服務(wù)公開中,許多服務(wù)都可以被內(nèi)部獨立進程所限制。如果其中任何一個服務(wù)需要增加某種功能,那么就必須縮小進程范圍。在微服務(wù)架構(gòu)中,只需要在特定的某種服務(wù)中增加所需功能,而不影響整體進程的架構(gòu)。
從概念理解,分布式服務(wù)架構(gòu)強調(diào)的是服務(wù)化以及服務(wù)的分散化,微服務(wù)則更強調(diào)服務(wù)的專業(yè)化和精細分工;從實踐的角度來看,微服務(wù)架構(gòu)通常是分布式服務(wù)架構(gòu),反之則未必成立。所以,選擇微服務(wù)通常意味著需要解決分布式架構(gòu)的各種難題。
區(qū)別分布式的方式是根據(jù)不同機器不同業(yè)務(wù)。
將一個大的系統(tǒng)劃分為多個業(yè)務(wù)模塊,業(yè)務(wù)模塊分別部署到不同的機器上,各個業(yè)務(wù)模塊之間通過接口進行數(shù)據(jù)交互。區(qū)別分布式的方式是根據(jù)不同機器不同業(yè)務(wù)。
微服務(wù)更加強調(diào)單一職責、輕量級通信(HTTP)、獨立性并且進程隔離。
微服務(wù)與分布式的細微差別是,微服務(wù)的應(yīng)用不一定是分散在多個服務(wù)器上,他也可以是同一個服務(wù)器。
分布式是否屬于微服務(wù)?
不一定,如果一個很大應(yīng)用,拆分成三個應(yīng)用,但還是很龐大,雖然分布式了,但不是微服務(wù)。。微服務(wù)核心要素是微小。。
微服務(wù)架構(gòu)是分布式服務(wù)架構(gòu)的子集。
微服務(wù)架構(gòu)通過更細粒度的服務(wù)切分,使得整個系統(tǒng)的迭代速度并行程度更高,但是運維的復雜度和性能會隨著服務(wù)的粒度更細而增加。
微服務(wù)重在解耦合,使每個模塊都獨立。分布式重在資源共享與加快計算機計算速度。
分布式:分散壓力。微服務(wù):分散能力。
知識點擴展
分布式-微服務(wù)-集群 的概念和區(qū)別
分布式:一個業(yè)務(wù)分拆多個子業(yè)務(wù),部署在不同的服務(wù)器上
集群:同一個業(yè)務(wù),部署在多個服務(wù)器上
微服務(wù)的意思也就是將模塊拆分成一個獨立的服務(wù)單元通過接口來實現(xiàn)數(shù)據(jù)的交互。
分布式是指將不同的業(yè)務(wù)分布在不同的地方。而集群指的是將幾臺服務(wù)器集中在一起,實現(xiàn)同一業(yè)務(wù)。
分布式中的每一個節(jié)點,都可以做集群。而集群并不一定就是分布式的。
分布式,從窄意上理解,也跟集群差不多,但是它的組織比較松散,不像集群,有一個組織性,一臺服務(wù)器垮了,其它的服務(wù)器可以頂上來。
分布式的每一個節(jié)點,都完成不同的業(yè)務(wù),一個節(jié)點垮了,那這個業(yè)務(wù)就不可訪問了。
好的設(shè)計應(yīng)該是分布式和集群的結(jié)合,先分布式再集群,具體實現(xiàn)就是業(yè)務(wù)拆分成很多子業(yè)務(wù),然后針對每個子業(yè)務(wù)進行集群部署,這樣每個子業(yè)務(wù)如果出了問題,整個系統(tǒng)完全不會受影響。
微服務(wù)的設(shè)計是為了不因為某個模塊的升級和BUG影響現(xiàn)有的系統(tǒng)業(yè)務(wù)。微服務(wù)與分布式的細微差別是,微服務(wù)的應(yīng)用不一定是分散在多個服務(wù)器上,他也可以是同一個服務(wù)器。
分布式和微服的架構(gòu)很相似,只是部署的方式不一樣而已。
相關(guān)文章
SpringBoot http post請求數(shù)據(jù)大小設(shè)置操作
這篇文章主要介紹了SpringBoot http post請求數(shù)據(jù)大小設(shè)置操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-09-09
如何在SpringBoot+Freemarker中獲取項目根目錄
這篇文章主要介紹了如何在SpringBoot+Freemarker中獲取項目根目錄的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-10-10
在SpringBoot中配置Thymeleaf的模板路徑方式
這篇文章主要介紹了在SpringBoot中配置Thymeleaf的模板路徑方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-08-08
MyBatisPlus?TypeHandler自定義字段類型轉(zhuǎn)換Handler
這篇文章主要為大家介紹了MyBatisPlus?TypeHandler自定義字段類型轉(zhuǎn)換Handler示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-08-08

