1. 程式人生 > 程式設計 >Spring Hystrix熔斷報警原理圖例解析

Spring Hystrix熔斷報警原理圖例解析

Hystrix 是一個幫助解決分散式系統互動時超時處理和容錯的類庫,它同樣擁有保護系統的能力。Netflix的眾多開源專案之一。

設計流程:

Spring Hystrix熔斷報警原理圖例解析

1.加入Redis依賴

     <!--springboot整合redis-->
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-data-redis</artifactId>
    </dependency>

2.配置Redis資訊:

spring:
 application:
  name: order-service
 redis:
  database: 0
  host: 127.0.0.1 
  port: 6379
  timeout: 2000

3.

//注意:方法名稱一定要與api方法一致
  private Object saveOrderFail(Integer userId,Integer productId){
    String saveOrderKey = "save-order";
    String sendValue = (String) redisTemplate.opsForValue().get(saveOrderKey);
    new Thread( () ->{
      if (StringUtils.isBlank(sendValue)){
        //傳送一個http請求,請求簡訊服務

        redisTemplate.opsForValue().set(saveOrderKey,"save-order-fail",20,TimeUnit.SECONDS);
      } 
    }).start();
    Map<String,Object> msg= new HashMap<>();
    msg.put("code",-1);
    msg.put("msg","搶購人數太多,請稍後再試");
    return msg;
  }

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。