SpringCloud學習筆記(3)——Hystrix

參考Spring Cloud官方文檔第1三、1四、15章架構

13. Circuit Breaker: Hystrix Clients

Netflix提供了一個叫Hystrix的類庫,它實現了斷路器模式。在微服務架構中,一般一個微服務會調用多個其餘的微服務。一個相對低層級的服務失敗可能形成上層應用的級聯失敗,服務訪問量越大失敗率越高。當斷路打開的時候,這個調用就被終止了。打開的斷路能夠阻止級聯失敗。微服務

13.1 How to Include Hystrix


15.1 How to Include Hystrix Dashboard

爲了使用Hystrix儀表盤,須要在Spring Boot main class上用@EnableHystrixDashboard註解標註。ui

 

上代碼spa

在原先的ribbon-demo基礎上修改3d

以上是在Ribbon中使用Hystrix,而Feign默認就支持Hystrix。下面看一下在Feign中如何使用Hystrix。blog

17.4 Feign Hystrix Support

若是Hystrix在classpath中,而且feign.hystrix.enabled=true的話,那麼Feign將用斷路器包裝全部的方法。文檔

注意:在Spring Cloud Dalston以前的版本中,若是classpath中有Hystrix,那麼Feign默認回爲全部的方法加上斷路器。這種默認的行爲在Spring Cloud Dalston版本中被改變了,取而代之的是可選的。it

17.5 Feign Hystrix Fallbacks

Hystrix支持回調,當斷路器打開的時候回回調默認的代碼。爲了回調指定的方法,能夠在@FeignClient中設置fallback屬性,它的值是類的名字。例如:class

 

 若是須要得到回調觸發的緣由,可使用@FeignClient的fallbackFactory屬性。基礎

上代碼

基於先前的feigen-demo工程改造

 

其它的不變

我的感受仍是用@EnableCircuitBreaker+@HystrixCommand的方式更方便一點兒

 至於斷路器儀表盤仍是跟前面同樣配置

相關文章
相關標籤/搜索