天天看點

spring cloud使用hystrix實作斷路保護機制

斷路保護機制:即容錯性,在微服務架構中,系統之間都是互相依賴的,如果一個系統出現了異常,就會出現如下情況:

spring cloud使用hystrix實作斷路保護機制

斷路保護機制就是為了解決這種情況。

hystrix的大緻原理如下:

spring cloud使用hystrix實作斷路保護機制
spring cloud使用hystrix實作斷路保護機制

spring cloud中使用斷路保護機制非常簡單

1.添加依賴

2.在調用其他系統的方法上添加一個注解:

建立一個方法名為methodName的方法,并實作其邏輯,該邏輯就是在熔斷的時候執行的邏輯,該方法的傳回值需要和原方法一緻。這個注解的目的就是将這個調用遠端方法進行打包,并啟動另一個線程來處理。

這個注解中出了fallbackMethod這個屬性外,還有一個比較重要的:

3.在啟動類上添加注解,啟動hystrix

這時,如果我們的系統去調用其他系統出現問題時,就會執行我們自己定義的方法methodName。

spring cloud使用hystrix實作斷路保護機制

hystrix的預設熔斷政策是5秒内出現20次調用異常,就會在一段時間内不去調用遠端接口,直接調用methodName,過一段時間才會重新連接配接遠端接口。