dyc87112 / blog-comments

5 stars 1 forks source link

为Spring Cloud Ribbon配置请求重试(Camden.SR2+) | 程序猿DD #142

Open dyc87112 opened 6 years ago

dyc87112 commented 6 years ago

http://blog.didispace.com/spring-cloud-ribbon-failed-retry/

当我们使用Spring Cloud Ribbon实现客户端负载均衡的时候,通常都会利用@LoadBalanced来让RestTemplate具备客户端负载功能,从而实现面向服务名的接口访问(原理可见《Spring Cloud源码分析(二)Ribbon》一文,如果对Spring Cloud中使用Ribbon进行服务消费还

funny-eagle commented 5 years ago

默认情况下 ribbon.ConnectTimeoutribbon.ReadTimeout 这两个参数配置了也是是不生效的。 RestTemplate 默认使用的是 SimpleClientHttpRequestFactory,需要在RestTemplate注入SimpleClientHttpRequestFactorysimpleClientHttpRequestFactory.setConnectTimeout(250);。 把ribbon.httpclient.enabled设置为true,就会使用RibbonClientHttpRequestFactory,此时ribbon.ConnectTimeoutribbon.ReadTimeout 这两个参数配置才会生效(spring-cloud版本:Camden.SR3)

john1337 commented 5 years ago

spring.cloud.loadbalancer.retry.enabled=false 对Dalston版本一点效果也没有啊