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 比较好,具体看需求进行配置。

相关文章:

  • 2021-10-15
  • 2021-06-22
  • 2021-10-27
  • 2022-01-07
  • 2022-12-23
  • 2021-05-24
  • 2022-12-23
  • 2021-12-19
猜你喜欢
  • 2021-10-23
  • 2021-08-21
  • 2022-02-01
  • 2022-12-23
  • 2022-12-23
  • 2021-12-27
相关资源
相似解决方案