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;
    }

 

posted @ 2020-03-08 16:12  Catbir  阅读(378)  评论(0编辑  收藏  举报