feign调用问题汇总
1. feign调用微服务get请求提示post not supported
- fein定义和controller接口的请求方法不一致[一定要都是get方法才行]
- 如果排除掉第一个问题,fein接口的Get方法接口,此时请求参数前面没有加上@RequestParam也会有此报错【我也不知道为什么,但就是这样解决的】
2.feign调用微服务超时
feign、ribbon的超时通用设置
#默认为10s
feign.client.config.default.connectTimeout = 10000
#默认为60s
feign.client.config.default.readTimeout = 60000
ribbon.ConnectTimeout = 10000
ribbon.ReadTimeout = 60000
ribbon.eager-load.enabled = true
feign.okhttp.enabled = true
feign.compression.request.enabled = false
feign.compression.response.enabled = false
feign.httpclient.max-connections = 1000
feign.httpclient.max-connections-per-route = 500
如果还是不行,出现hystrix
方面的报错,再加上hystrix
的超时即可
如果还是不行,出现服务器方面的报错,再把服务器的连接超时时候设置一下就可以
不管怎么解决问题,feign、ribbon的重试机制,能关闭掉就关闭掉!