更新時間:2020-04-08 12:03:31 來源:動力節(jié)點 瀏覽2970次
Java基礎(chǔ)學(xué)習:Java分布式和微服務(wù),分布式和微服務(wù)的概念比較相似,分布式屬于微服務(wù)。但是分布式和微服務(wù)在架構(gòu)、作用和粒度上有所區(qū)別。因此,兩者的關(guān)系是既相互聯(lián)系又相互區(qū)別。本文主要帶大家認識分布式和微服務(wù),并探討一下兩者的關(guān)系,感興趣的小伙伴可以接著看下去。
1、微服務(wù)
微服務(wù)的意思也就是將模塊拆分成一個獨立的服務(wù)單元通過接口來實現(xiàn)數(shù)據(jù)的交互。簡單來說微服務(wù)就是很小的服務(wù),小到一個服務(wù)只對應(yīng)一個單一的功能,只做一件事。這個服務(wù)可以單獨部署運行,服務(wù)之間可以通過RPC來相互交互,每個微服務(wù)都是由獨立的小團隊開發(fā),測試,部署,上線,負責它的整個生命周期。
2、分布式
分布式服務(wù)顧名思義服務(wù)是分散部署在不同的機器上的,一個服務(wù)可能負責幾個功能,是一種面向SOA架構(gòu)的,服務(wù)之間也是通過rpc來交互或者是webservice來交互的。邏輯架構(gòu)設(shè)計完后就該做物理架構(gòu)設(shè)計,系統(tǒng)應(yīng)用部署在超過一臺服務(wù)器或虛擬機上,且各分開部署的部分彼此通過各種通訊協(xié)議交互信息,就可算作分布式部署,生產(chǎn)環(huán)境下的微服務(wù)肯定是分布式部署的,分布式部署的應(yīng)用不一定是微服務(wù)架構(gòu)的,比如集群部署,它是把相同應(yīng)用復(fù)制到不同服務(wù)器上,但是邏輯功能上還是單體應(yīng)用。
3、關(guān)系
聯(lián)系:分布式只是一種手段,把不同的機器分散在不同的地方,然后這些機器間相互協(xié)助完成業(yè)務(wù)。微服務(wù)是一種特殊的分布式,換句話說,微服務(wù)架構(gòu)是分布式服務(wù)架構(gòu)的子集。微服務(wù)架構(gòu)通過更細粒度的服務(wù)切分,使得整個系統(tǒng)的迭代速度并行程度更高,但是運維的復(fù)雜度和性能會隨著服務(wù)的粒度更細而增加。微服務(wù)重在解耦合,使每個模塊都獨立。分布式重在資源共享與加快計算機計算速度。
區(qū)別:
(1)架構(gòu)不同:微服務(wù)的設(shè)計是為了不因為某個模塊的升級和BUG影響現(xiàn)有的系統(tǒng)業(yè)務(wù)。微服務(wù)與分布式的細微差別是,微服務(wù)的應(yīng)用不一定是分散在多個服務(wù)器上,他也可以是同一個服務(wù)器。
(2)作用不同:分布式:不同模塊部署在不同服務(wù)器上,分布式主要解決的是網(wǎng)站高并發(fā)帶來問題。微服務(wù):各服務(wù)可獨立應(yīng)用,組合服務(wù)也可系統(tǒng)應(yīng)用。
(3)粒度不同:微服務(wù)相比分布式服務(wù)來說,它的粒度更小,服務(wù)之間耦合度更低,由于每個微服務(wù)都由獨立的小團隊負責,因此它敏捷性更高,分布式服務(wù)最后都會向微服務(wù)架構(gòu)演化,這是一種趨勢,不過服務(wù)微服務(wù)化后帶來的挑戰(zhàn)也是顯而易見的,例如服務(wù)粒度小,數(shù)量大,后期運維將會很難。
以上就是動力節(jié)點java培訓(xùn)機構(gòu)的小編針對“Java基礎(chǔ)學(xué)習:Java分布式和微服務(wù)”的內(nèi)容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務(wù)。
分布式相關(guān)視頻教程
分布式配置中心Apollo揭秘:http://www.dabaquan.cn/javavideo/139.html
相關(guān)閱讀
初級 202925
初級 203221
初級 202629
初級 203743