zoukankan      html  css  js  c++  java
  • Ribbon重试机制与Hystrix熔断机制的配置问题1

    Ribbon超时与Hystrix超时问题,为了确保Ribbon重试的时候不被熔断,我们就需要让Hystrix的超时时间大于Ribbon的超时时间,否则Hystrix命令超时后,该命令直接熔断,重试机制就没有任何意义了。

    1. service-hi:
    2. ribbon:
    3. ReadTimeout: 2000
    4. ConnectTimeout: 1000
    5. MaxAutoRetries: 1
    6. MaxAutoRetriesNextServer: 1
    7.  
    8.  
    9. hystrix:
    10. command:
    11. default:
    12. execution:
    13. timeout:
    14. enabled: true
    15. isolation:
    16. thread:
    17. timeoutInMilliseconds: 8000

    从上面的配置来说,ribbon超时配置为2000,请求超时后,该实例会重试1次,更新实例会重试1次。

    所以hystrix的超时时间要大于 (1 + MaxAutoRetries + MaxAutoRetriesNextServer) * ReadTimeout 比较好,具体看需求进行配置。

    Ribbon超时与Hystrix超时问题,为了确保Ribbon重试的时候不被熔断,我们就需要让Hystrix的超时时间大于Ribbon的超时时间,否则Hystrix命令超时后,该命令直接熔断,重试机制就没有任何意义了。

    1. service-hi:
    2. ribbon:
    3. ReadTimeout: 2000
    4. ConnectTimeout: 1000
    5. MaxAutoRetries: 1
    6. MaxAutoRetriesNextServer: 1
    7.  
    8.  
    9. hystrix:
    10. command:
    11. default:
    12. execution:
    13. timeout:
    14. enabled: true
    15. isolation:
    16. thread:
    17. timeoutInMilliseconds: 8000

    从上面的配置来说,ribbon超时配置为2000,请求超时后,该实例会重试1次,更新实例会重试1次。

    所以hystrix的超时时间要大于 (1 + MaxAutoRetries + MaxAutoRetriesNextServer) * ReadTimeout 比较好,具体看需求进行配置。

  • 相关阅读:
    关于iterator的一点疑惑
    shuffle()方法
    List简单使用笔记
    Arrays.asList()
    多项式ADT(数组存储多项式系数和指数)笔记
    《数据结构与算法分析C语言描述》源码网盘分享
    C语言实现链表
    typedef的用法
    #ifndef的用法
    mysql创建数据库和数据表模板
  • 原文地址:https://www.cnblogs.com/tiancai/p/9590621.html
Copyright © 2011-2022 走看看