国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

高版本Spring Cloud中OpenFeign整合Hystrix熔斷降級(jí)不生效的問題及解決方案

這篇具有很好參考價(jià)值的文章主要介紹了高版本Spring Cloud中OpenFeign整合Hystrix熔斷降級(jí)不生效的問題及解決方案。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

摘要

本文將介紹在使用高版本Spring Cloud(2020.0.x及以后),由于取消了Hystrix的集成,導(dǎo)致OpenFeign與Hystrix熔斷降級(jí)不生效的問題。同時(shí),也將給出解決該問題的方案,即添加feign.circuitbreaker.enabled=true配置。

正文

1. 背景

隨著Spring Cloud框架的發(fā)展,高版本Spring Cloud(2020.0.x及以上)中取消了對(duì)Hystrix的集成和支持。這對(duì)之前依賴于Hystrix進(jìn)行服務(wù)熔斷和降級(jí)的項(xiàng)目帶來了一些困擾,特別是在使用OpenFeign進(jìn)行遠(yuǎn)程調(diào)用時(shí)。

2. 問題描述

在高版本Spring Cloud(2020.0.x及以上)中,原先使用OpenFeign與Hystrix進(jìn)行熔斷降級(jí)的配置方式已經(jīng)失效。具體來說,之前常用的配置項(xiàng)"feign.hystrix.enabled"被移除,無法再通過該配置項(xiàng)來啟用Hystrix相關(guān)功能。

2.1 癥狀

在忽略版本遷移的情況下,使用高版本Spring Cloud通過OpenFeign進(jìn)行服務(wù)調(diào)用時(shí),發(fā)現(xiàn)Hystrix的熔斷降級(jí)策略不起作用,即使配置了相關(guān)的降級(jí)邏輯,也無法觸發(fā)。

2.2 原因分析

主要原因是,自Spring Cloud 2020.0.0版本開始,已移除相關(guān)的Netflix OSS組件,自然就不再默認(rèn)集成Hystrix,取消了對(duì)Hystrix的自動(dòng)裝配。因此,導(dǎo)致配置項(xiàng)`feign.hystrix.enabled`不再生效。

2020.0.0版本前,只需在啟動(dòng)類上添加@EnableHystrix注解,OpenFeign的熔斷降級(jí)功能便可生效,因?yàn)锧EnableHystrix注解中引用了@EnableCircuitBreaker注解,默認(rèn)開啟了熔斷降級(jí)功能。而在2020.0.0版本后,@EnableCircuitBreaker注解已被廢棄:

openfeign的配置feign.hystrix.enabled沒了 什么版本去掉的?,spring cloud,hystrix,java

且在spring-configuration-metadata.json文件中找不到hystrix相關(guān)配置:

openfeign的配置feign.hystrix.enabled沒了 什么版本去掉的?,spring cloud,hystrix,java

3. 解決方案

為了解決高版本Spring Cloud中OpenFeign整合Hystrix熔斷降級(jí)不生效的問題,我們需要手動(dòng)添加配置來啟用Circuit Breaker模塊。

具體解決方案如下:

3.1 添加依賴

首先,在項(xiàng)目的構(gòu)建文件(例如Maven的pom.xml)中添加以下依賴:

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

3.2 配置開關(guān)

在項(xiàng)目的配置文件(例如application.yml或application.properties)中添加以下配置項(xiàng):

feign:
? circuitbreaker:
? ? enabled: true

該配置項(xiàng)用于啟用OpenFeign的Circuit Breaker模塊,從而替代了之前的Hystrix。

3.3 編寫熔斷降級(jí)邏輯

在需要進(jìn)行熔斷降級(jí)處理的Feign客戶端接口上,添加`@FeignClient`注解,并在`fallback`屬性中指定對(duì)應(yīng)的Fallback類(實(shí)現(xiàn)Feign客戶端接口)。示例代碼如下:

@FeignClient(name = "service-name", fallback = MyFallback.class)
public interface MyFeignClient {

    @GetMapping("/api/endpoint")
    String getEndpoint();
}
@Component
public class MyFallback implements MyFeignClient {
    
    @Override
    public String getEndpoint() {
        return "觸發(fā)服務(wù)降級(jí)";
    }
}

4. 結(jié)論

通過以上的解決方案,我們可以在高版本Spring Cloud中成功啟用OpenFeign的熔斷降級(jí)功能,替代了取消的Hystrix集成。通過手動(dòng)配置`feign.circuitbreaker.enabled`,并編寫相應(yīng)的降級(jí)邏輯,我們可以繼續(xù)在項(xiàng)目中使用熔斷降級(jí)策略,確保系統(tǒng)的穩(wěn)定性。文章來源地址http://www.zghlxwxcb.cn/news/detail-835621.html

到了這里,關(guān)于高版本Spring Cloud中OpenFeign整合Hystrix熔斷降級(jí)不生效的問題及解決方案的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Spring Cloud GateWay實(shí)現(xiàn)熔斷降級(jí)

    當(dāng)分布式系統(tǒng)中的網(wǎng)關(guān)接收到大量請(qǐng)求并向后端遠(yuǎn)程系統(tǒng)或服務(wù)發(fā)起調(diào)用時(shí),后端服務(wù)可能會(huì)產(chǎn)生調(diào)用失?。ㄈ绯瑫r(shí)或異常)。這時(shí),如果讓請(qǐng)求繼續(xù)堆積在網(wǎng)關(guān)上,可能會(huì)導(dǎo)致整個(gè)系統(tǒng)的癱瘓。因此,需要快速失敗并返回請(qǐng)求,這就是所謂的熔斷。 降級(jí)是指在系統(tǒng)資源不足

    2024年02月02日
    瀏覽(26)
  • Spring Cloud 容錯(cuò)機(jī)試 Hystrix 服務(wù)降級(jí) RestTemplate:

    Spring Cloud 容錯(cuò)機(jī)試 Hystrix 服務(wù)降級(jí) RestTemplate:

    雪崩效應(yīng): ? 如果短信服務(wù)炸了后面的所有服務(wù)就會(huì)起連鎖反應(yīng)造成全部服務(wù)掛掉 , 這就是雪崩效應(yīng) , 那么其實(shí)短信服務(wù)又不是我們主要業(yè)務(wù) , 這個(gè)時(shí)候我們可以采用服務(wù)降級(jí) , 服務(wù)降級(jí)就是暫時(shí)的把短信服務(wù)停掉能用就返回不能用就返回個(gè)錯(cuò)誤 , 但是它也不會(huì)影響

    2024年02月07日
    瀏覽(27)
  • (一)Spring Cloud 直擊微服務(wù)作用、架構(gòu)應(yīng)用、hystrix降級(jí)

    (一)Spring Cloud 直擊微服務(wù)作用、架構(gòu)應(yīng)用、hystrix降級(jí)

    直擊微服務(wù)作用 ?? ?遇到了什么問題? ? ? ? ? 將單體架構(gòu)拆分成微服務(wù)架構(gòu)后,如果保證多個(gè)服務(wù)(項(xiàng)目)正常運(yùn)行? ? ? 哪個(gè)技術(shù)可以解決這個(gè)問題? ? ? ? ? 微服務(wù)技術(shù) ? ? ? ? 服務(wù)治理: 服務(wù)管理,維護(hù)服務(wù)與服務(wù)之間的關(guān)系 ? ? 這個(gè)技術(shù)如何使用? ? ? ? ? netflix/網(wǎng)飛:

    2024年02月03日
    瀏覽(115)
  • Spring Cloud OpenFeign:基于Ribbon和Hystrix的聲明式服務(wù)調(diào)用

    Spring Cloud OpenFeign:基于Ribbon和Hystrix的聲明式服務(wù)調(diào)用

    ??wei_shuo的個(gè)人主頁(yè) ??wei_shuo的學(xué)習(xí)社區(qū) ??Hello World ! Spring Cloud OpenFeign是一個(gè)聲明式的服務(wù)調(diào)用框架,基于Feign并整合了Ribbon和Hystrix;目標(biāo)是簡(jiǎn)化分布式系統(tǒng)中編寫服務(wù)間調(diào)用的代碼,并提供一種更加優(yōu)雅和便捷的方式來進(jìn)行服務(wù)之間的通信 依賴導(dǎo)入 application.yml配置 啟

    2024年02月05日
    瀏覽(35)
  • 【Spring Cloud】Sentinel流量限流和熔斷降級(jí)的講解

    【Spring Cloud】Sentinel流量限流和熔斷降級(jí)的講解

    ????歡迎來到我的CSDN主頁(yè)!???? ??我是Java方文山,一個(gè)在CSDN分享筆記的博主。???? ??推薦給大家我的專欄《Spring Cloud》。???? ??點(diǎn)擊這里,就可以查看我的主頁(yè)啦!???? Java方文山的個(gè)人主頁(yè) ??如果感覺還不錯(cuò)的話請(qǐng)給我點(diǎn)贊吧!???? ??期待你的加入,一起

    2024年01月23日
    瀏覽(24)
  • Dubbo hystrix 熔斷降級(jí) 示例

    Dubbo hystrix 熔斷降級(jí) 示例

    目錄 Pom 應(yīng)用啟動(dòng)類 接口 服務(wù)提供者 消費(fèi)者 總結(jié) 因?yàn)閖ar包沖突問題報(bào)錯(cuò)?java.lang.NoSuchMethodError: org.springframework.boot.builder.SpringApplicationBuilder.([Ljava/lang/Object;)V 解決方式修改低版本springboot 改成如下 版本對(duì)照 全代碼 pom 啟動(dòng) 實(shí)現(xiàn) yml 有需要加上這個(gè) 有超時(shí)熔斷跳轉(zhuǎn)到 reliable

    2024年02月12日
    瀏覽(27)
  • SpringCloud學(xué)習(xí)6(Spring Cloud Alibaba)斷路器Sentinel熔斷降級(jí)

    SpringCloud學(xué)習(xí)6(Spring Cloud Alibaba)斷路器Sentinel熔斷降級(jí)

    SpringCloud、SpringCloudAlibaba、SpringBoot版本選擇。為了避免各種千奇百怪的bug,我們還是采用官方推薦的畢業(yè)版本。 修改tomcat配置最大線程數(shù) 引入測(cè)試依賴 編寫測(cè)試代碼 這里同時(shí)我們?cè)跒g覽器去請(qǐng)求該地址,響應(yīng)會(huì)變得很慢 測(cè)試結(jié)論:此時(shí)會(huì)發(fā)現(xiàn)由于thread接口囤積大量請(qǐng)求,

    2023年04月08日
    瀏覽(31)
  • Spring Cloud實(shí)戰(zhàn) |分布式系統(tǒng)的流量控制、熔斷降級(jí)組件Sentinel如何使用

    Spring Cloud實(shí)戰(zhàn) |分布式系統(tǒng)的流量控制、熔斷降級(jí)組件Sentinel如何使用

    專欄集錦,大佬們可以收藏以備不時(shí)之需 Spring Cloud實(shí)戰(zhàn)專欄:https://blog.csdn.net/superdangbo/category_9270827.html Python 實(shí)戰(zhàn)專欄:https://blog.csdn.net/superdangbo/category_9271194.html Logback 詳解專欄:https://blog.csdn.net/superdangbo/category_9271502.html tensorflow專欄:https://blog.csdn.net/superdangbo/category_869

    2024年02月04日
    瀏覽(33)
  • Hystrix和Sentinel熔斷降級(jí)設(shè)計(jì)理念

    Hystrix和Sentinel熔斷降級(jí)設(shè)計(jì)理念

    Sentinel 和 Hystrix 的原則是一致的: 當(dāng)檢測(cè)到調(diào)用鏈路中某個(gè)資源出現(xiàn)不穩(wěn)定的表現(xiàn),例如請(qǐng)求響應(yīng)時(shí)間長(zhǎng)或異常比例升高的時(shí)候,則對(duì)這個(gè)資源的調(diào)用進(jìn)行限制,讓請(qǐng)求快速失敗,避免影響到其它的資源而導(dǎo)致級(jí)聯(lián)故障。 Sentinel 對(duì)這個(gè)問題采取了兩種手段: 通過并發(fā)線程數(shù)進(jìn)

    2024年02月09日
    瀏覽(32)
  • SpringCloud(四)Hystrix服務(wù)降級(jí)、熔斷、監(jiān)控頁(yè)面

    SpringCloud(四)Hystrix服務(wù)降級(jí)、熔斷、監(jiān)控頁(yè)面

    官方文檔:https://cloud.spring.io/spring-cloud-static/spring-cloud-netflix/1.3.5.RELEASE/single/spring-cloud-netflix.html#_circuit_breaker_hystrix_clients 我們知道,微服務(wù)之間是可以進(jìn)行相互調(diào)用的,那么如果出現(xiàn)了下面的情況會(huì)導(dǎo)致什么問題? 由于位于最底端的服務(wù)提供者E發(fā)生故障,那么此時(shí)會(huì)直接導(dǎo)

    2024年02月17日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包