springCloud入門學習--Hystrix狀態監控

DENGZONGCAI_凌雲發表於2020-12-19

一、Hystrix狀態檢視

Hystrix狀態可以通過/health介面檢視,需要在yml檔案中加入如下配置,指定顯示全部資訊:

management:
security:
enabled: false
二、測試

1、啟動註冊中心、movie、user專案;

2、訪問 /movie/findById?userId=1,得到對應結果;

3、訪問 /health 介面,得到如下結果:

{
“description”: “Composite Discovery Client”,
“status”: “UP”,
“hystrix”: {
“status”: “UP”
}

}
Hystrix的狀態為UP,表示一切正常,斷路器是關閉狀態。

4、掛掉 user專案;

5、訪問 /movie/findById?userId=1,得到預設結果;

6、訪問 /health 介面,得到的結果和上次訪問結果相同,Hystrix的狀態依然為UP。這是因為失敗率還沒有達到閾值(預設5秒內20次失敗)。

7、快速訪問 /movie/findById?userId=1 後,再次訪問 /health,得到結果:

{
“description”: “Composite Discovery Client”,
“status”: “UP”,
“hystrix”: {
“status”: “CIRCUIT_OPEN”,
“openCircuitBreakers”: [“MovieController::findById”]
}

}
Hystrix狀態改變,表示斷路器已開啟。

三、總結

執行回退邏輯並不代表斷路器已經開啟。請求失敗、超時、被拒絕都會執行回退邏輯。只有當失敗率達到閾值之後才會開啟斷路器。

相關文章