• 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所有监控端点

    查询监控状态

  • 相关阅读:
    过滤选择器——简单过滤选择器
    层次选择器
    选择器——2——基本选择器
    This is a secret
    iframe加载问题
    懒加载
    biubiubiu
    使用JSON JavaScriptSerializer 进行序列化或反序列化时出错。字符串的长度超过了为 maxJsonLength属性
    HTML中       等6种空白空格的区别
    ASP.NET 4.0的ClientIDMode属性
  • 原文地址:https://www.cnblogs.com/mathlin/p/12571151.html
Copyright © 2020-2023  润新知