springcloud中hystrix和ribbon的一些超时设置
新人的探索,记录一下,遇到同样问题的也可以参考。
0.需要引入:
<!-- 重试机制 ,否则重试不生效 -->
<dependency>
<groupId>org.springframework.retry</groupId>
<artifactId>spring-retry</artifactId>
</dependency>
1.需要配置:zuul.retryable=true 和 spring.cloud.loadbalancer.retry.enabled=true
2.超时时间应该:zuul > hystrix > ribbon (否则重试完成之前会被熔断)
2.当服务中设置了hystrix,以每个服务的设置为准(好像不对???)
3.ribbon超时 = (ribbonReadTimeout + ribbonConnectTimeout) * (maxAutoRetries + 1) * (maxAutoRetriesNextServer + 1);(发现:重试失败之后,熔断超时之前,也会熔断)
4.OKToRetryOnAllOperations无论请求超时或者socket read timeout都进行重试,(不建议开启,默认读取请求重试,新增修改不重试)
为true时:
post:重试
get:重试
put:重试
delete重试
为false时:(ReadTimeout之后直接熔断)
post不
get重试
put不
delete不
5.httpClient默认重试策略DefaultHttpRequestRetryHandler针对连接超时和获取数据超时并不会重试,需要自定义重试策略。(好像不对???)
- SpringCloud Edgware.SR3版本中Ribbon的timeout设置方法
- springcloud微服务实战:Eureka+Zuul+Feign/Ribbon+Hystrix Turbine+SpringConfig+sleuth+zipkin
- SPRINGCLOUD(EUREKA+RIBBON+FEIGN+HYSTRIX)
- Spring Cloud Netflix的3大组件应用 Eureka&Ribbon&Hystrix
- Spring Cloud Netflix 教程(Feign+Ribbon+Hystrix)
- SpringCloud 学习 | 第五篇: ribbon断路器使用(hystrix)
- SpringCloud之Ribbon和Feign断路器支持(Hystrix)|第四章-yellowcong
- spring cloud:Edgware.RELEASE版本hystrix超时新坑
- spring Cloud中,解决Feign/Ribbon整合Hystrix第一次请求失败的问题?
- 学习笔记:微服务11 spring cloud ribbon(负载均衡)+ hystrix(熔断)
- 一起来学SpringCloud之 - 断路器Hystrix(Ribbon)
- Spring Cloud Eureka+Ribbon+Hystrix
- 干货分享微服务spring-cloud(4.负载均衡ribbon与熔断器hystrix)
- 玩转SpringCloud(F版本) 三.断路器(Hystrix)RestTemplate+Ribbon和Feign两种方式
- Spring Cloud之Feign客户端超时时间配置
- Spring Cloud中Hystrix的请求缓存
- Spring Cloud 断路器Hystrix实战
- 如何用springcloud找妹纸之5--- 一个寻找"妹纸"的路人甲(rest+ribbon)
- spring-cloud-hystrix之spring-cloud-1.3.4(Dalston.SR3)-boot(1.5.6) 学习笔记
- 【Spring Cloud】Ribbon负载均衡