SpringCloud-4

4.3 Feign使用Hystrix

由于Hystrix本身已經集成了Hystrix依賴,所以我們可以直接使用,而不用再去引入Hystrix。

  1. 準備工作(類似于Ribbon的操作):

    ①:依次啟動Eureka、Discovery、Feign服務,然后訪問Feign服務的地址,可以看到正常訪問成功。

    image

    ②:關閉Discovery服務,再次訪問Feign服務的地址,這時由于無法訪問提供者的服務,F(xiàn)eign的界面會報錯:
    image

    注:如果仔細觀察,會發(fā)現(xiàn)Ribbon和Feign的報錯信息略微不同:

    Ribbon需要引入Hystrix依賴,并且發(fā)生斷路時,報錯為服務器拒絕鏈接;

    Feign自帶Hystrix體系,發(fā)生斷路時,報錯為沒有指定斷路回調的方法屬性。

    image
  2. 使用Hystrix斷路器: 由于Feign不用引入Hystrix依賴,所以直接在原有的Feign服務商進行一些基本修改。 ①:核心類BootFeignApplication不需要改變,修改接口ComputerClient,添加注解接口中映射的fallback函數(shù):

    image

    ②:主類ComputerController不需要改變,新增實現(xiàn)類ComputerClientHystrix:

    image

    注:實現(xiàn)類的類名和接口中的fallback函數(shù)的名稱一致。

    ③:依次啟動Eureka、Discovery、Feign服務,然后訪問Feign服務的地址,可以看到正常訪問成功。

    關閉Discovery服務,再次訪問Feign服務地址:http://localhost:8224/add。此時會報錯:

    image
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容