Ribbon重试机制与Hystrix熔断机制的配置问题1

2023-05-26,,

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

    service-hi:

    ribbon:

    ReadTimeout: 2000

    ConnectTimeout: 1000

    MaxAutoRetries: 1

    MaxAutoRetriesNextServer: 1

     
     

    hystrix:

    command:

    default:

    execution:

    timeout:

    enabled: true

    isolation:

    thread:

    timeoutInMilliseconds: 8000

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

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

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

    service-hi:

    ribbon:

    ReadTimeout: 2000

    ConnectTimeout: 1000

    MaxAutoRetries: 1

    MaxAutoRetriesNextServer: 1

     
     

    hystrix:

    command:

    default:

    execution:

    timeout:

    enabled: true

    isolation:

    thread:

    timeoutInMilliseconds: 8000

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

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

Ribbon重试机制与Hystrix熔断机制的配置问题1的相关教程结束。

《Ribbon重试机制与Hystrix熔断机制的配置问题1.doc》

下载本文的Word格式文档,以方便收藏与打印。