1. 程式人生 > >Spring Cloud Hystrix(熔斷器簡介)

Spring Cloud Hystrix(熔斷器簡介)

pos 新建 ribbon 線程 con 註冊中心 all class bsp

在分布式框架中當某個服務單元發生故障之後通過斷路器的故障監控向調用方返回一個錯誤響應,而不是長期等待這樣就不會使得線程因調用故障服務被長時間占用不放,避免了故障在分布式系統中的蔓延

針對上述問題,Spring Cloud Hystrix實現了斷路器、線程隔離等一系列服務保護功能。

這裏我們先做一個實驗,啟動註冊中心、兩個helloservice服務和ribbon服務

當我們停掉一個hello服務的時候用ribbon測試

技術分享圖片

為了解決上述問題我們開始試著構建我們的Hystrix

下面我們新建一個名為hystrix-service的項目,依賴包的引入在ribbon的基礎上加入spring-cloud-starter-hystrix

技術分享圖片

主類加@EnableCircuitBreaker註解

技術分享圖片

改造服務的消費方式,加入helloservice

技術分享圖片

同樣controller通過註入service來完成調用

技術分享圖片

當兩個hello實例都正常運行時我們的hystrix服務可以正常消費到hello服務提供的接口

當我們停掉某一個hello服務時

技術分享圖片

會得到如下信息即我們在fallbackMethod方法中給定的返回。

這就是hystrix所謂的服務降級。

Spring Cloud Hystrix(熔斷器簡介)