一、問題
5.2 Hystrix 的介紹
hystrix的使用
1、對RestTemplate的支持
a、引入依賴
b、啟動類上激活hystrix
c、配置熔斷觸發的降級邏輯
d、在需要保護的接口上使用@HystrixCommand配置
e、配置判斷請求超過多少時間,觸發熔斷保護機制。
f、測試消費者項目接口,這個接口是調用服務提供者項目的,將服務提供者項目關掉,然后訪問。
g、對整個類的接口統一配置熔斷降級方法,這樣就不用每個接口都配置一遍
2、對feign組件的支持
a、引入依賴(feign中已經繼承了hystrix)
b、在feign中開啟hystrix。
c、自定義一個接口的實現類,這個實現類就是熔斷觸發的降級類。
d、修改feignClient接口添加降級方法的支持
e、設置鏈接超時時間,進行熔斷
#在feign中開啟對hystrix的支持
feign:
client:
config:
default:
connectTimeout: 5000
readTimeout: 5000
hystrix:
enabled: true
hystrix:
command:
default:
execution:
isolation:
thread:
timeoutInMilliseconds: 5000 #默認的連接超時時間1秒,若一秒沒有返回數據,自動的觸發降級邏輯。上面的feign超時時間也要一起設置。
circuitBreaker:
requestVolumeThreshold: 5 #觸發熔斷的最小請求次數,默認20 /10秒
sleepWindowInMilliseconds : 10000 #熔斷多少秒后去嘗試請求 默認5 打開狀態的時間
errorThresholdPercentage: 50 #熔斷觸發的失敗請求最小占比,默認50%
# threadpool:
# default:
# coreSize: 10 # 全局配置
這個feign和hystrix配合,設置鏈接超時熔斷。一定要feign跟hystrix超時時間一起設置。
六、
設置監控信息:
查詢監控接口:
暴露hystrix所有監控端點
查詢監控狀態