zoukankan      html  css  js  c++  java
  • Hystrix属性配置策略

    Hystrix属性配置

      1. Command可配参数

        设置隔离策略

        execution.isolation.strategy = THREAD

        设置超时时间

        execution.isolation.thread.timeoutInMilliseconds = 1000

        信号量隔离策略设置最大并发请求数(仅在信号量隔离策略下生效)

        execution.isolation.semaphore.maxConcurrentRequests = 10

        设置最大Fallback数量

        fallback.isolation.semaphore.maxConcurrentRequests = 10

        设置熔断器滑动窗口最小任务

        circuitBreaker.requestVolumeThreshold = 20 

        设置熔断器持续时间

        circuitBreaker.sleepWindowInMilliseconds = 5000

        设置触发熔断器的失败任务阈值(百分比)

        circuitBreaker.errorThresholdPercentage = 50

        设置Metrics监视器的范围时间(过去多少ms内)

        metrics.rollingStats.timeInMilliseconds = 10000

        设置监视器内桶的数量(将监视器范围划分为若干块)

        metrics.rollingStats.numBuckets= 10

      2. ThreadPool可配参数

        设置线程池容量

        coreSize = 10

        设置阻塞队列长度(优先级高于queueSizeRejectionThreshold,且一旦初始化就不能更改 )

        maxQueueSize = -1 

        动态设置阻塞队列长度

        queueSizeRejectionThreshold = 5

        空闲线程存活时间

        keepAliveTimeMinutes= 1

        线程池监控窗口时间范围(10s内)

        metrics.rollingStats.timeInMilliseconds = 10000

        设置线程池监控滑动窗口的桶数量

        metrics.rollingStats.numBuckets = 500

        Note:窗口时间必须为桶数量的整数倍,否则会抛出异常

        1. 关于Hystrix线程池:

          1. 默认使用同步队列, 使用LinkedBlockingQueue时可以设置 queueSizeRejectionThreshold调整队列拒绝阈值
          2. v1.5.9之前, coreSize=maxSize, 之后设置allowMaximumSizeToDivergeFromCoreSize可以将两者设置不同
          3. 设置尽量小的线程池, 使用推荐方法预估线程池
           

          Thread Size = peak healthy × 99th percentile latency in seconds + some breathing room(线程池大小 = 峰值QPS * 99耗时 + 预留空间 )

           

          超时设定标准:

           With retry,Time = 99th mean-time + 50th mean-time

           Without Retry,Time = 99.5meantime

  • 相关阅读:
    8行代码批量下载GitHub上的图片
    python经典面试算法题1.1:如何实现链表的逆序
    pandas处理excel的常用方法技巧(上)
    numpy---python数据分析
    python、C++经典算法题:打印100以内的素数
    Java中数组、集合、链表、队列的数据结构和优缺点和他们之间的区别
    Hystrix
    Java中的static关键字解析
    Spring Boot
    Springcloud和Dubbo的区别。Eureka和Ribbon和Hystrix和zuul
  • 原文地址:https://www.cnblogs.com/java-synchronized/p/7927789.html
Copyright © 2011-2022 走看看