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