一:什么是Hystrix
站在用戶的角度思考問題,與客戶深入溝通,找到渭源網(wǎng)站設(shè)計與渭源網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:做網(wǎng)站、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、國際域名空間、網(wǎng)站空間、企業(yè)郵箱。業(yè)務(wù)覆蓋渭源地區(qū)。在分布式環(huán)境中,許多服務(wù)依賴項中的一些將不可避免地失敗。Hystrix是一個庫,通過添加延遲容差和容錯邏輯來幫助您控制這些分布式服務(wù)之間的交互。Hystrix通過隔離服務(wù)之間的訪問點,停止其間的級聯(lián)故障以及提供回退選項,從而提高系統(tǒng)的整體彈性。
Hystrix旨在執(zhí)行以下操作
1:對通過第三方客戶端庫訪問(通常通過網(wǎng)絡(luò))的依賴關(guān)系提供保護(hù)并控制延遲和故障。
2:隔離復(fù)雜分布式系統(tǒng)中的級聯(lián)故障。
3:快速發(fā)現(xiàn)故障,盡快恢復(fù)。
4:回退,盡可能優(yōu)雅地降級。
5:啟用近實時監(jiān)控,警報和操作控制。
二:為什么需要Hystrix?
大型分布式系統(tǒng)中,一個客戶端或者服務(wù)依賴外部服務(wù),如果一個服務(wù)宕了,那么由于我們設(shè)置了服務(wù)調(diào)用系統(tǒng)超時時間,勢必會影響相應(yīng)時間,在高并發(fā)的情況下大多數(shù)服務(wù)器的線程池就出現(xiàn)阻塞(BLOCK),影響整個線上服務(wù)的穩(wěn)定性。
(圖片官方圖片)
當(dāng)一切都健康時,請求可以看起來像這樣
當(dāng)許多后端服務(wù)系統(tǒng)中的一個宕掉時,整個用戶請求:
如果多個客戶端調(diào)用同一個異常服務(wù)的時候,出現(xiàn)的情況是:
三:Hystrix解決什么問題?
分布式架構(gòu)中的應(yīng)用程序具有幾十個依賴關(guān)系,每個依賴關(guān)系在某個時刻將不可避免的出現(xiàn)異常。如果應(yīng)用程序不與這些外部故障隔離,則可能出現(xiàn)線程池阻塞,引起系統(tǒng)雪崩。
例如,對于依賴30個服務(wù)的應(yīng)用程序,每個服務(wù)的正常運行時間為99.99%,您可以:
99.99%的30次方 = 99.7%正常運行時間
0.3%的10億次請求= 3,000,000次故障
2+小時宕機(jī)/月,即使所有依賴關(guān)系正常運行時間。
當(dāng)使用Hystrix進(jìn)行熔斷后,每個依賴關(guān)系彼此隔離了,限制了當(dāng)發(fā)生延遲時的阻塞。
四:Hystrix結(jié)合Feign使用
創(chuàng)建一個工程eureka_feign_hystrix_client
pom.xml文件內(nèi)容
<dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-feign</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>Brixton.SR5</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement>
當(dāng)前名稱:詳解SpringCloud微服務(wù)架構(gòu)之Hystrix斷路器-創(chuàng)新互聯(lián)
標(biāo)題URL:http://aaarwkj.com/article2/gghoc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、面包屑導(dǎo)航、動態(tài)網(wǎng)站、App開發(fā)、微信小程序、服務(wù)器托管
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)