最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringCloud集成Hystrix熔斷過程分步分解

 更新時間:2022年09月28日 09:26:39   作者:Echoo2787  
通過hystrix可以解決雪崩效應(yīng)問題,它提供了資源隔離、降級機(jī)制、融斷、緩存等功能。接下來通過本文給大家分享SpringCloud集成Hystrix熔斷,感興趣的朋友一起看看吧

版本:

SpringBoot 2.6.1

SpringCloud 2021.0.0

依賴

<dependency>
	<groupId>org.springframework.cloud</groupId>
	<artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
	<version>2.1.6.RELEASE</version>
</dependency>

貼@EnableHystrix注解

@EnableHystrix
@SpringBootApplication
public class ConsumerOneApplication {
    public static void main(String[] args) {
        SpringApplication.run(ConsumerOneApplication.class, args);
    }
}

在需要熔斷的接口上貼@HystrixCommand注解

@RequestMapping("/consumerOne")
@RestController
public class ControllerOne {
    @Autowired
    private RestTemplate restTemplate;
    private String providerOneName = "provider-one";
    @HystrixCommand(fallbackMethod = "fallbackMethodOne")
    @RequestMapping("/serviceOne/{msg}")
    public String serviceOne(@PathVariable("msg") String msg) {
        return restTemplate.getForObject("http://" + providerOneName + "/providerOne/serviceOne/" + msg, String.class);
    }
	/** 熔斷回調(diào)方法 */
    private String fallbackMethodOne(String msg) {
        return "熔斷一默認(rèn)返回:" + msg;
    }
}

異常熔斷測試

其中一個服務(wù)方拋異常,另一服務(wù)方正常返回

@RequestMapping("/providerOne")
@RestController
public class ControllerOne {
    @RequestMapping("/serviceOne/{msg}")
    public String serviceOne(@PathVariable("msg") String msg) {
        throw new RuntimeException();
        // return "8702:" + msg;
    }
}
@RequestMapping("/providerOne")
@RestController
public class ControllerOne {
    @RequestMapping("/serviceOne/{msg}")
    public String serviceOne(@PathVariable("msg") String msg) {
        return "8701:" + msg;
    }
}

訪問結(jié)果:

超時熔斷測試

全局

先配置默認(rèn)超時時間為3秒(default為全局)

hystrix:
  command:
    default:
      execution:
        isolation:
          thread:
            timeoutInMilliseconds: 3000

在這里插入代碼片

其中一個接口睡眠4秒

@RequestMapping("/providerOne")
@RestController
public class ControllerOne {
    @RequestMapping("/serviceOne/{msg}")
    public String serviceOne(@PathVariable("msg") String msg) {
        try {
            Thread.sleep(4 * 1000);
            return "8702:" + msg;
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        return "8702:" + msg;
    }
}

訪問結(jié)果:

當(dāng)服務(wù)方為延時返回的那個時,訪問等待了3秒返回熔斷默認(rèn)對象

另一個正常

單個接口

除了全局外,另外給serviceTwo接口配置獨(dú)立的超時時間,其余不變

hystrix:
  command:
    default:
      execution:
        isolation:
          thread:
            timeoutInMilliseconds: 3000
    serviceTwo:
      execution:
        isolation:
          thread:
            timeoutInMilliseconds: 5000

增加一個路徑為serviceTwo的接口

@RequestMapping("/consumerOne")
@RestController
public class ControllerOne {
    @Autowired
    private RestTemplate restTemplate;
    private String providerOneName = "provider-one";
    @HystrixCommand(fallbackMethod = "fallbackMethodOne")
    @RequestMapping("/serviceOne/{msg}")
    public String serviceOne(@PathVariable("msg") String msg) {
        return restTemplate.getForObject("http://" + providerOneName + "/providerOne/serviceOne/" + msg, String.class);
    }
    @HystrixCommand(fallbackMethod = "fallbackMethodOne")
    @RequestMapping("/serviceTwo/{msg}")
    public String serviceTwo(@PathVariable("msg") String msg) {
        return restTemplate.getForObject("http://" + providerOneName + "/providerOne/serviceOne/" + msg, String.class);
    }
    private String fallbackMethodOne(String msg) {
        return "熔斷一默認(rèn)返回:" + msg;
    }
}

測試結(jié)果:

一個為等待5秒返回結(jié)果

一個正常返回

到此這篇關(guān)于SpringCloud集成Hystrix熔斷過程分步分解的文章就介紹到這了,更多相關(guān)SpringCloud Hystrix熔斷內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 如何在Eclipse中設(shè)置Oracle的JDBC

    如何在Eclipse中設(shè)置Oracle的JDBC

    以下是對在Eclipse中設(shè)置Oracle的JDBC的具體操作方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過來參考下
    2013-08-08
  • Java開發(fā)環(huán)境配置及Vscode搭建過程

    Java開發(fā)環(huán)境配置及Vscode搭建過程

    今天通過圖文并茂的形式給大家介紹Java開發(fā)環(huán)境配置及Vscode搭建過程,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2021-07-07
  • Java中注解@JsonFormat與@DateTimeFormat的使用

    Java中注解@JsonFormat與@DateTimeFormat的使用

    從數(shù)據(jù)庫獲取時間傳到前端進(jìn)行展示的時候,我們有時候可能無法得到一個滿意的時間格式的時間日期,本文主要介紹了Java中注解@JsonFormat與@DateTimeFormat的使用,文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-08-08
  • SpringBoot+shardingsphere實(shí)現(xiàn)按月分表功能教程

    SpringBoot+shardingsphere實(shí)現(xiàn)按月分表功能教程

    這篇文章主要介紹了SpringBoot+shardingsphere實(shí)現(xiàn)按月分表功能教程,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-04-04
  • Spring Data JPA 如何使用QueryDsl查詢并分頁

    Spring Data JPA 如何使用QueryDsl查詢并分頁

    這篇文章主要介紹了Spring Data JPA 如何使用QueryDsl查詢并分頁,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • Java StringTokenizer分隔符拆分字符串

    Java StringTokenizer分隔符拆分字符串

    Java中的StringTokenizer類用于將一個字符串分解成標(biāo)記,本文主要介紹了Java StringTokenizer分隔符拆分字符串,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-08-08
  • Java實(shí)現(xiàn)用戶短信驗(yàn)證碼登錄功能實(shí)例代碼

    Java實(shí)現(xiàn)用戶短信驗(yàn)證碼登錄功能實(shí)例代碼

    現(xiàn)在不管是各類的網(wǎng)站,還是大小社交app,登錄方式是越來越多了,但是大部分還是以短信登錄為主,本文主要介紹了java短信驗(yàn)證碼登錄功能設(shè)計(jì)與實(shí)現(xiàn),感興趣的可以了解一下
    2021-11-11
  • Java中InputSteam怎么轉(zhuǎn)String

    Java中InputSteam怎么轉(zhuǎn)String

    面了一位實(shí)習(xí)生,叫他給我說一下怎么把InputStream轉(zhuǎn)換為String,這種常規(guī)的操作,他竟然都沒有用過我準(zhǔn)備結(jié)合工作經(jīng)驗(yàn),整理匯集出了InputStream 到String 轉(zhuǎn)換的十八般武藝,助大家闖蕩 Java 江湖一臂之力,需要的朋友可以參考下
    2021-06-06
  • Java數(shù)據(jù)結(jié)構(gòu)之常見排序算法(上)

    Java數(shù)據(jù)結(jié)構(gòu)之常見排序算法(上)

    這篇文章主要介紹了Java數(shù)據(jù)結(jié)構(gòu)之常見排序算法,本文章是匯總篇,且對每個排序都進(jìn)行了說明,可以很好的理清思路,對排序算法有個總體的框架,需要的朋友可以參考下
    2023-01-01
  • Mybatis-Plus的條件構(gòu)造器QueryWrapper & UpdateWrapper示例詳解

    Mybatis-Plus的條件構(gòu)造器QueryWrapper & UpdateWrapper示例詳解

    Mybatis-Plus的條件構(gòu)造器QueryWrapper和UpdateWrapper為開發(fā)者提供了強(qiáng)大、靈活的條件構(gòu)建工具,能夠大大簡化數(shù)據(jù)庫操作的代碼,通過本文的介紹,讀者可以更加深入地理解這兩個條件構(gòu)造器的使用方法,并在實(shí)際項(xiàng)目中靈活應(yīng)用,感興趣的朋友跟隨小編一起看看吧
    2024-01-01

最新評論

安义县| 东方市| 宁南县| 桦川县| 五常市| 嘉义市| 呼图壁县| 永顺县| 乐山市| 报价| 军事| 镇宁| 乡城县| 海盐县| 乐东| 赣榆县| 祁阳县| 视频| 桑日县| 阿鲁科尔沁旗| 上高县| 松阳县| 江源县| 肥乡县| 陵川县| 鹤壁市| 都匀市| 自治县| 游戏| 子洲县| 保亭| 长沙县| 罗江县| 资中县| 乌兰察布市| 商河县| 武安市| 民县| 休宁县| 高清| 连云港市|