MaxAutoRetriesNextServer: 1
retryableStatusCodes: 500,502,504
# retryableStatusCodes: 500,502,504,404
OkToRetryOnAllOperations: true
答案是feign的配置会覆盖掉ribbon的,具体还有一段有趣的故事,spring cloud gateway的作者貌似还不太清楚,有个路人给指出来了,还获得了gateway作者的称赞。
https://github.com/spring-cloud/spring-cloud-netflix/issues/696
SpringCloud
Feign
支持请求和响应进行GZIP压缩来提高通信效率。
开启GZIP压缩
配置
:
feign
.compression.request.enable=true #请求GZIP压缩
feign
.compression.response.enable=true ...
关于
ribbon
组件的
Connect
TimeOut
和
Read
TimeOut
功能失效问题处理
这几天在自学SpringCloud学到
Feign
的时候需要验证超时问题,使用
配置
ribbon
.
Connect
TimeOut
与
Read
TimeOut
无效。
百度后说了一大堆,很多都是新写
配置
类乱七八糟的处理。
原先就能
配置
的东西为什么要用
配置
类去实现,然后我稍微换个思路寻找后发现下面这个
配置
可以使用。
为了防止有人不
会
点击复制,直接用Ctrl+C
会
有乱七八糟的其他内容,这边直接贴原文。
feign
:
client:
文章目录前言一、SpringCloud
Feign
?SpringCloud
Ribbon
?1、
Feign
介绍3.
Ribbon
介绍2.默认
配置
4.参数
设置
二、坑点1 同时
配置
Feign
和
Ribbon
的超时,已谁为准?三、坑点2 为什么
connect
Timeout
和
read
Timeout
必须同时
配置
?总结
本篇主要介绍SpringCloud Fegin结合
Ribbon
实现负载均衡的超时参数详解及
设置
。
Feign
自己有两个超时参数,它使用的负载均衡组件
Ribbon
本身还有相关
配置
。那
在Spring Cloud微服务架构
中
,大部分公司都是利用Open
Feign
进行服务间的调用,而比较简单的业务使用默认
配置
是不
会
有多大问题的,但是如果是业务比较复杂,服务要进行比较繁杂的业务计算,那后台很有可能
会
出现
Read
Timeout
这个异常,因此定制化
配置
超时时间就有必要了。
1|0
Feign
Client Configuration
# 默认开启
feign
.httpclient.enabled=false
# 默认关闭
feign
.okhttp.enabled=true
# 默认关闭
1、
ribbon
的超时
配置
ribbon
:
OkToRetryOnAllOperations: false #对所有操作请求都进行重试,默认false,包括连接超时(
connect
Timeout
)和请求超时(
read
TimeOut
)
Read
Timeout
: 3000 #负载均衡超时时间,默认值5000
Connect
Timeout
: 2000 #
ribbon
请求连接的超时时间,默认值2000
MaxAutoRetries: 0 #对当前实例的重试次数,默认0,不包含首次调用
Feign
和
Ribbon
的重试机制相当于一个双层循环,
feign
重试机制在外层,
Ribbon
的重试机制在里层,每执行一次
feign
的重试机制,内层的
Ribbon
的重试机制都
会
全部执行一次。
最近在学习springcloud微服务,在使用open
feign
时,需要使用
ribbon
组件的
Connect
TimeOut
和
Read
TimeOut
功能,代码示下:
@GetMapping(value = "/payment/
feign
/
timeOut
")
public String payment
TimeOut
(){
//设定暂停3秒,open
Feign
默认等待时间一秒
Time
Unit.SECONDS.sleep(3
connect
Timeout
: 5000
read
Timeout
: 5000
# 实例
配置
,
feign
Name即@
feign
client
中
的value,也就是服务名
feign
Name:
connect
Timeout
: 5000
我们用到spring Cloud的时候,
Feign
和
Ribbon
和Hystrix都是必不可少的
配置
项。下面就来详细说下他们三者的关系及如何
配置
。本次演示采用:spring-cloud-starter-open
feign
:2.1.0RELEASE版本。