【搬磚-1】hystrix開發

在這裏插入圖片描述
二、監控Hystrix
1、添加依賴

org.springframework.boot spring-boot-starter-actuator org.springframework.cloud spring-cloud-starter-netflix-hystrix-dashboard 2、創建配置 application.properties中的配置如下: 應用包含spring-boot-starter-actuator 依賴,就會存在一個/actuator/hystrix.stream 端點,用來監控Hystrix Command。當被@HystrixCommand 註解了的方法被調用時,就會產生監控信息,並暴露到該端點中。當然,該端點默認是不會暴露的,需使用如下配置將其暴露。 management.endpoints.web.exposure.include=hystrix.stream 3、添加註解 @SpringCloudApplication @EnableHystrixDashboard 4、dashboard鏈接: http://localhost:8080/hystrix stream鏈接:http://localhost:8080/actuator/hystrix.stream,輸入鏈接查看具體stream的情況

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
默認超時時間
@HystrixCommand(commandProperties = {
@HystrixProperty(name = “execution.isolation.thread.timeoutInMilliseconds”,value = “3000”)
})

HystrixCircuitBreaker可以使用狀態機來實現,內部模擬以下幾種狀態。

閉合(closed)狀態: 對應用程序的請求能夠直接引起方法的調用。代理類維護了最近調用失敗的次數,如果某次調用失敗,則使失敗次數加1。如果最近失敗次數超過了在給定時間內允許失敗的閾值,則代理類切換到斷開(Open)狀態。此時代理開啓了一個超時時鐘,當該時鐘超過了該時間,則切換到半斷開(Half-Open)狀態。該超時時間的設定是給了依賴服務恢復正常。
斷開(Open)狀態:在該狀態下,對依賴服務的請求會立即返回錯誤響應。
半斷開(Half-Open)狀態:允許對應用程序的一定數量的請求可以去調用依賴服務。如果這些請求對依賴服務的調用成功,那麼可以認爲之前導致調用失敗的錯誤已經修正,此時Circuit-Breaker切換到閉合狀態,並且將錯誤計數器重置;如果這一定數量的請求有調用失敗的情況,則認爲導致之前調用失敗的問題仍然存在,Circuit-Breaker切回到斷開方式,然後開始重置計時器來給依賴服務一定的時間來修正錯誤。半斷開狀態能夠有效防止正在恢復中的依賴服務被突然而來的大量請求再次拖垮。
各個狀態之間的轉換如下圖
在這裏插入圖片描述
在Close狀態下,錯誤計數器是基於時間的。在特定的時間間隔內會自動重置。這能夠防止由於某次的偶然錯誤導致熔斷器進入斷開狀態。觸發熔斷器進入斷開狀態的失敗閾值只有在特定的時間間隔內,錯誤次數達到指定錯誤次數的閾值纔會產生。在Half-Open狀態中使用的連續成功次數計數器記錄調用的成功次數。當連續調用成功次數達到某個指定值時,切換到閉合狀態,如果某次調用失敗,立即切換到斷開狀態,連續成功調用次數計時器在下次進入半斷開狀態時歸零。
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章