背景
springcloud 项目中使用了 emq 队列服务。
在测试时发现一个问题,就是项目会报此错
feign.RetryableException: Read timed out executing GET http://upm-service/upm/api/device/statusUpload
这是调用服务超时
实际就是熔断器经过发送http请求尝试连接但是未成功返回了错误信息,导致报错。理论上我们可以修改 hystrix 的状态为关闭,或者关闭异常捕捉错误返回,
-
不过通常我们只需要修改 ribbon 的请求处理与请求连接的时间,修改位置在配置文件 application.properties (我这里是网关的配置文件)如下:
当然相对 hystrix 的连接时间也要修改,不然无意义,如下:
-
如果此情况下依然报错,我们则可以尝试关闭 fegin 的二层调用对象 hystrix 如下: