Hystrix - 服務降級(基於@HystrixCommand + 基於@FeignClient)


前言

通常情況下的Hystrix是通過注解@HystrixCommand的fallbackMethod屬性實現回調的。

在Feign中,由於Feign是用借口實現的聲明式Rest,所以Hystrix的通用方法在這里就不適用於Feign了。

一、服務降級 - 通過@HystrixCommand (fallbackMethod="")

1.1 引入依賴

 

1.2 @HystrixCommand 引入服務熔斷時的備選方法

依然會通過hystrixGet()返回一個“格式正確”的結果,只不過結果里的data是假的,是提示用戶當前發生了錯誤。

 

1.3 @EnableCircuitBreaker 在主函數開啟對斷路器的支持

circuit(電路) breaker -- 斷路器

 

二、服務降級 - 通過@FeignClient(fallbackFactory="")

2.1 必看:Feign聲明式Http客戶端如何使用

OpenFeign/Feign - 聲明式Http客戶端

 

2.2 在@FeignClient中,增加fallbackFactory 

這里的Springcloud-api module是調用方,"SPRINGCLOUD-PROVIDER-DEPT"服務是被調用方。Springcloud-api需要調用"SPRINGCLOUD-PROVIDER-DEPT"服務當中的DeptClientService方法。根據OpenFeign/Feign - 聲明式Http客戶端 的要求,需要在調用端Springcloud-api聲明需要調用服務的接口,並用@FeignClient注解。 

 

可以在@FeignClient這里,通過fallbackFactory屬性添加服務降級。

 

2.3 編寫FallbackFactory

需要實現FallbackFactory接口

 

2.4 在Feign項目配置里,開啟服務降級

要在feign的項目里配置

 

 

2.5 服務降級效果

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM