Ribbon重试的坑

我们在使用Ribbon或者Feigin的时候,是可以开启超时重试功能的,网上很多资料都会讲到,这里就不啰嗦了。

那么我们要关闭这个功能呢?



开启的配置如下(另外ribbon超时时间和断路器超时时间也需要配置)

spring.cloud.loadbalancer.retry.enabled=true

ribbon.ReadTimeout=90000

ribbon.ConnectTimeout=10000

#Hystrix超时时间(默认1000ms,单位:ms)

hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds=95000

# 同一实例最大重试次数,不包括首次调用

ribbon.MaxAutoRetries=1

# 重试其他实例的最大重试次数,不包括首次所选的server

ribbon.MaxAutoRetriesNextServer= 2

# 是否所有操作都进行重试

ribbon.OkToRetryOnAllOperations=true



当我们需要关闭重试功能的时候,是不是spring.cloud.loadbalancer.retry.enabled=false就可以了呢,并不是。

需要把ribbon.OkToRetryOnAllOperations=false才行。

这里有人详细分析过,传送门

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容