Spring Hystrix熔断报警原理图例解析

 更新时间:2020年03月10日 14:38:42   作者:啄木鸟bir  
这篇文章主要介绍了Spring Hystrix熔断报警原理图例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

Hystrix 是一个帮助解决分布式系统交互时超时处理和容错的类库, 它同样拥有保护系统的能力。Netflix的众多开源项目之一。

设计流程:

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • springboot集成ELK的全过程详解

    springboot集成ELK的全过程详解

    ELK其实并不是某一款软件,而是一套完整的解决方案,是三个产品的首字母缩写,Elasticsearch,Logstash和Kibana,这三个软件都是开源软件,通常配合使用,本文将给大家详细介绍一下springboot集成ELK的全过程,需要的朋友可以参考下
    2024-01-01
  • Java1.8中LocalDate方法使用总结

    Java1.8中LocalDate方法使用总结

    LocalDate是Java8中的一个日期类,用于表示年月日,它是不可变的,线程安全的,下面这篇文章主要给大家介绍了关于Java1.8中LocalDate方法使用的相关资料,需要的朋友可以参考下
    2024-03-03
  • Java增强for循环的增删操作代码

    Java增强for循环的增删操作代码

    Foreach循环(Foreach loop)是计算机编程语言中的一种控制流程语句,通常用来循环遍历数组或集合中的元素,本文通过实例演示普通for循环和foreach循环使用,java增强for循环的操作代码感兴趣的朋友一起看看吧
    2024-02-02
  • 分析Java并发编程之信号量Semaphore

    分析Java并发编程之信号量Semaphore

    Semaphore一般译作信号量,它也是一种线程同步工具,主要用于多个线程对共享资源进行并行操作的一种工具类。它代表了一种许可的概念,是否允许多线程对同一资源进行操作的许可,使用Semaphore可以控制并发访问资源的线程个数
    2021-06-06
  • Java的JSON转换库GSON的基本使用方法示例

    Java的JSON转换库GSON的基本使用方法示例

    GSON是Google制作的一个可以让Java对象与JSON互相转换的类库,下面我们就来看一下Java的JSON转换库GSON的基本使用方法示例:
    2016-06-06
  • 聊聊Spring MVC JSON数据交互的问题

    聊聊Spring MVC JSON数据交互的问题

    我们在开发中后端经常需要接受来自于前端传递的Json字符串数据,怎么把Json字符串转换为Java对象呢?下面小编给大家带来了Spring MVC JSON数据交互的问题,感兴趣的朋友一起看看吧
    2021-10-10
  • Javaweb使用thymeleaf局部刷新结合Layui插件实现Html分页

    Javaweb使用thymeleaf局部刷新结合Layui插件实现Html分页

    本文主要介绍了Javaweb使用thymeleaf局部刷新结合Layui插件实现Html分页,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-10-10
  • SpringBoot 2.x整合Log4j2日志的详细步骤

    SpringBoot 2.x整合Log4j2日志的详细步骤

    log4j2优越的性能其原因在于log4j2使用了LMAX,一个无锁的线程间通信库代替了,logback和log4j之前的队列,并发性能大大提升,下面这篇文章主要给大家介绍了关于SpringBoot 2.x整合Log4j2日志的相关资料,需要的朋友可以参考下
    2022-10-10
  • 基于Java中throw和throws的区别(详解)

    基于Java中throw和throws的区别(详解)

    下面小编就为大家带来一篇基于Java中throw和throws的区别(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07
  • Java MyBatis框架环境搭建详解

    Java MyBatis框架环境搭建详解

    MyBatis本是apache的一个开源项目iBatis,MyBatis环境的搭建有点麻烦,本章带你了解搭建过程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值
    2022-08-08

最新评论