• 2020-03-25 接口高并发问题下,Hystrix的使用


    一、问题

     

     

     

     

     

     5.2 Hystrix 的介绍

    hystrix的使用

    1、对RestTemplate的支持

      a、引入依赖

       b、启动类上激活hystrix

     c、配置熔断触发的降级逻辑

    d、在需要保护的接口上使用@HystrixCommand配置

     

    e、配置判断请求超过多少时间,触发熔断保护机制。

     

    f、测试消费者项目接口,这个接口是调用服务提供者项目的,将服务提供者项目关掉,然后访问。

    g、对整个类的接口统一配置熔断降级方法,这样就不用每个接口都配置一遍

     2、对feign组件的支持

    a、引入依赖(feign中已经继承了hystrix)

    b、在feign中开启hystrix。

    c、自定义一个接口的实现类,这个实现类就是熔断触发的降级类。

    d、修改feignClient接口添加降级方法的支持

     e、设置链接超时时间,进行熔断

    #在feign中开启对hystrix的支持
    feign:
    client:
    config:
    default:
    connectTimeout: 5000
    readTimeout: 5000
    hystrix:
    enabled: true
    hystrix:
    command:
    default:
    execution:
    isolation:
    thread:
    timeoutInMilliseconds: 5000 #默认的连接超时时间1秒,若一秒没有返回数据,自动的触发降级逻辑。上面的feign超时时间也要一起设置。
    circuitBreaker:
    requestVolumeThreshold: 5 #触发熔断的最小请求次数,默认20 /10秒
    sleepWindowInMilliseconds : 10000 #熔断多少秒后去尝试请求 默认5 打开状态的时间
    errorThresholdPercentage: 50 #熔断触发的失败请求最小占比,默认50%
    # threadpool:
    # default:
    # coreSize: 10 # 全局配置

    这个feign和hystrix配合,设置链接超时熔断。一定要feign跟hystrix超时时间一起设置。

     六、

    设置监控信息:

     

     

    查询监控接口:

     暴露hystrix所有监控端点

    查询监控状态

  • 相关阅读:
    使用PDO连接数据库
    ES6 promise
    弹框小三角
    封装弹窗功能
    css3 省略号
    使mac支持NTFS读写问题
    Vue 打包 build 前需要修改哪些配置和路径
    eslint配置大全
    在elementUI中使用 el-autocomplete 实现远程搜索的下拉框
    element-UI table自定义表头
  • 原文地址:https://www.cnblogs.com/mathlin/p/12571151.html
Copyright © 2020-2023  润新知