feign调用问题\超时

1、项目结构 每个微服务是provider情况下有一个client模块(里面含有定义好的feignclient 接口)  专门打包出去给其他微服务消费

这样的话 其他需要调用的微服务只要把这个client jar包引入即可,

2、在其他微服务中 引入clientXX.jar   这时候有一个坑, 就是 @EnableFeignClients这个注解默认是只扫描项目启动application下的包  如果不同项目可能包路径不一致, 所以@EnableFeignClients得指定你的client.jar里面的路径  或者两个项目中 共同的顶级路径  例如com.XX.cloud     同一个公司内部   顶层包结构应该是一致的

3、feign调用超时  默认feign调用超时是1000毫秒的   有断点就肯定超时  

需要加上以下配置

feign.hystrix.enabled=true
#feign调用默认是1000毫秒=1秒   应该设置成更长时间1000 * 60 * 5  = 5分钟  add by six-vision
hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds=300000
hystrix.command.default.circuitBreaker.sleepWindowInMilliseconds=300000
hystrix.command.default.circuitBreaker.forceClosed=true
#hystrix.command.default.execution.timeout.enabled=false
#请求处理的超时时间  add by six-vision
ribbon.ReadTimeout=300000
ribbon.SocketTimeout=300000
#请求连接的超时时间 add by six-vision
ribbon.ConnectTimeout: 30000

参考

https://blog.csdn.net/qwlzxx/article/details/77163268

https://blog.csdn.net/zzhou1990/article/details/79149762

https://segmentfault.com/a/1190000012496398

https://www.telerik.com/download/fiddler/fiddler4

   

猜你喜欢

转载自blog.csdn.net/sinat_41620463/article/details/81533684
今日推荐