日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

feign直接走熔断_四、Spring Cloud之熔断处理 Hystrix

發布時間:2024/10/6 javascript 61 豆豆
生活随笔 收集整理的這篇文章主要介紹了 feign直接走熔断_四、Spring Cloud之熔断处理 Hystrix 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

熔斷處理什么呢?在微服務項目中,有很多的服務,在服務消費者調用服務提供者的時候可能會出現網絡異?;蛘哒埱蟪瑫r或者阻塞等等一系列問題,不過不進行處理的話,就可能導致,長時間等待,進程阻塞,最終導致系統癱瘓。

所以就有了熔斷處理,當服務提供者的接口不能訪問或者異常異常時,進行降級處理,服務消費者能夠正常的處理返回特定是數據。從而達到容災的目的。

看了一下Hystrix ,其實有很多東西,我們就先來看看Hystrix 的簡單使用,由于上節我們也說了Fegin 中集成了Hystrix 和ribbon .所以我們就直接使用Fegin 來實現一個簡單的熔斷處理的操作。

pom.xml

其實我們完全可以在上一節的ribbon-consumer 的基礎上來,我這里為了保持獨立性,所以copy 了一份ribbon-consumer 改成hystrix-consumer。pom文件引入fegin 的依賴

<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId></dependency>

在主類中增加@EnableFeignClients,其實這里僅僅使用hystrix 的話,可以使用@EnableCircuitBreaker。

application.properties

配置文件中開啟熔斷處理,將feign.hystrix.enabled設置為tue

#開啟熔斷處理 feign.hystrix.enabled=true

fallback

重點來啦,我們上一節在HelloService 中調服務提供者的接口,所以要做熔斷處理的話,就需要在這里進行降級處理,就需要寫一個降級處理的方法,如果服務提供者的接口不通,就調用這個方法,返回給客戶端。所以我們在server層創建一個fallback 文件夾,在fallback 包下創建HelloServiceFallback類實現 HelloService。內容如下:

@Component public class HelloServiceFallback implements HelloService {@Overridepublic String hello() {return "hello error";}@Overridepublic String hello2(@RequestParam(value = "name") String name) {return "hello2 error";}@Overridepublic String hello3(@RequestParam(value = "name") String name, @RequestParam(value = "age") String age) {return "hello3 error";}@Overridepublic String hello4(@RequestBody Map<String, Object> parms) {return "hello4 error";} }

注意給整個類加上@Component 注解,然后就是實現HelloService 中的方法啦。

然后我們需要在HelloService 中的@FeignClient 注解做修改

@FeignClient(name = "ribbon-provider",fallback = HelloServiceFallback.class)

name 用來指定服務提供者的服務名,fallback 用來指定降級處理的類。這里就是我們剛剛寫HelloServiceFallback。

好了我們來啟動項目測試一下。啟動這三個項目,分別是注冊中心,服務提供者hystrix-consumer,服務消費者ribbon-provider-9004

然后我們在界面輸入

http://localhost:9006/fegin

然后關閉服務提供者,再調接口試試。

可以看到服務提供者的接口斷掉之前和之后返回的結果是不一樣的。說明我們的熔斷處理是生效的啦。

番外

今天就說這么多吧,就先學習一下Hystrix 的基本使用,其他的一些功能,我們后續再說

代碼上傳到github:https://github.com/QuellanAn/springcloud

后續加油?

歡迎大家關注個人公眾號 "程序員愛酸奶"

分享各種學習資料,包含java,linux,大數據等。資料包含視頻文檔以及源碼,同時分享本人及投遞的優質技術博文。

如果大家喜歡記得關注和分享喲?

http://weixin.qq.com/r/lSpcRJ-EBsJ5rdsn93_H (二維碼自動識別)

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的feign直接走熔断_四、Spring Cloud之熔断处理 Hystrix的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。