首頁(yè)技術(shù)文章正文

Java微服務(wù)架構(gòu)有哪些功能?

更新時(shí)間:2022-05-27 來源:黑馬程序員 瀏覽量:

1.微服務(wù)的自動(dòng)化部署

Java微服務(wù)架構(gòu)中,系統(tǒng)會(huì)被拆分為若干個(gè)微服務(wù),每個(gè)微服務(wù)又是一個(gè)獨(dú)立的運(yùn)行程序。單體架構(gòu)中的應(yīng)用程序只需要部署一次,而微服務(wù)架構(gòu)中有多少服務(wù)就需要部署多少次。隨著服務(wù)數(shù)量的增加,部署的難度就會(huì)增加。業(yè)務(wù)的粒度劃分的越細(xì),微服務(wù)的數(shù)量就越多。因此就出現(xiàn)了自動(dòng)化部署工具,例如Docker容器自動(dòng)化部署技術(shù)方便了微服務(wù)項(xiàng)目下各模塊在服務(wù)器上的部署。


2.服務(wù)集中化管理

微服務(wù)系統(tǒng)是按照業(yè)務(wù)單元來劃分的,服務(wù)數(shù)量越多,管理起來越復(fù)雜。在這里微服務(wù)提供了集中化管理組件Config,這樣可以在Config配置文件中統(tǒng)一配置,很大程度方便了人們對(duì)項(xiàng)目的集中化管理。

微服務(wù)架構(gòu).jpg

3.支持熔斷機(jī)制

雪崩效應(yīng):

在講熔斷機(jī)制之前,我們先來了解一下“雪崩”效應(yīng)。微服務(wù)架構(gòu)就是分布式的,在分布式系統(tǒng)中,服務(wù)之間是相互依賴的,如果一個(gè)服務(wù)出現(xiàn)了故障或者網(wǎng)絡(luò)延遲,在高并發(fā)的情況下,會(huì)導(dǎo)致線程阻塞,在很短的時(shí)間內(nèi)該服務(wù)的線程資源會(huì)消耗殆盡,最終使得該服務(wù)不可用,這就是“雪崩”效應(yīng)。

熔斷機(jī)制:

熔斷機(jī)制是應(yīng)對(duì)雪崩效應(yīng)的一種微服務(wù)鏈路保護(hù)機(jī)制。我們?cè)诟鞣N場(chǎng)景下都會(huì)接觸到熔斷這兩個(gè)字。高壓電路中,如果某個(gè)地方的電壓過高,熔斷器就會(huì)熔斷,對(duì)電路進(jìn)行保護(hù)。股票交易中,如果股票指數(shù)過高,也會(huì)采用熔斷機(jī)制,暫停股票的交易。同樣,在微服務(wù)架構(gòu)中,熔斷機(jī)制也是起著類似的作用。當(dāng)一條鏈路的某個(gè)微服務(wù)不可用或者響應(yīng)時(shí)間太長(zhǎng)時(shí),會(huì)進(jìn)行服務(wù)的降級(jí),進(jìn)而熔斷該節(jié)點(diǎn)微服務(wù)的調(diào)用,快速返回錯(cuò)誤的響應(yīng)信息。當(dāng)檢測(cè)到該節(jié)點(diǎn)微服務(wù)調(diào)用響應(yīng)正常后,恢復(fù)調(diào)用鏈路。


分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!