當前位置:編程學習大全網 - 源碼下載 - Spring Cloud 中斷路器 Circuit Breaker的應用

Spring Cloud 中斷路器 Circuit Breaker的應用

環境:Springboot2.3.12.RELEASE + cloud-netflix-hystrix2.2.10.RELEASE

SpringCloud Circuit breaker(斷路器)提供了跨不同斷路器實現的抽象。它提供了在應用程序中使用的壹致API,允許開發人員選擇最適合應用程序需要的斷路器實現。

支持的斷路器類型:

要在代碼中創建斷路器(circuit breaker),可以使用斷路器工廠API。當您在類路徑中包含Spring Cloud Circuit Breaker starter時,將自動創建壹個實現此API的bean。下面給出了使用此API的壹個非常簡單的示例:

通過引入下面不同依賴來確定使用具體的那個斷路器

以上5種斷路器是不同的實現方式,根據需要引入即可。

這裏以Hystrix為例來使用

引入依賴

定義具有熔斷功能的服務

Controller接口

CircuitBreakerFactory#create方法創建了CircuitBreaker實例

根據當前的CLASSPATH我們使用的是Hystrix,那麽這裏使用的工廠就是:

HystrixCircuitBreakerFactory類

泛型參數:Setter就是用來配置Hystrix相關配置信息的(這裏主要用來CommandKey與Setter進行綁定),HystrixConfigBuilder用來構建 HystrixCommand.Setter對象。

當執行HystrixCircuitBreakerFactory#configure方法時:

斷路器具體的子類實現HystrixCircuitBreakerFactory

斷路器工廠有了,接下來就是通過工廠創建具體的斷路器對象了

通過上面的代碼執行cbf().create("demo-slow")方法時執行了什麽?

上面創建的是HystrixCircuitBreaker斷路器,當執行run方法時:

完畢!!!

關註+轉發

Sentinel 與 Hystrix 的對比

SpringCloud Hystrix實現資源隔離應用

SpringCloud Gateway 應用Hystrix 限流功能 自定義Filter詳解

Spring Boot Security防重登錄及在線總數

Spring Retry重試框架的應用

springboot mybatis jpa 實現讀寫分離

Spring容器對象BeanFactory與ApplicationContext妳都清楚了嗎?

  • 上一篇:短視頻平臺框架如何開發?都有哪些功能?
  • 下一篇:天空壹號目標飛行器的成功對接
  • copyright 2024編程學習大全網