'com.netflix.zuul.exception.ZuulException: Hystrix Readed time out
I am trying microservices with eureka and zuul. And there is a problem with all requests, which take more then 1 second. As I have understood, 1 second is default hystrix timeout, and for configuring timeouts in Zuul, I have to configure these properties:
hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds
ribbon.ConnectTimeout
ribbon.ReadTimeout
but when I set them, there is "Cannot resolve configuration property ..." warning on each of them in the Intelije Idea. And, it seems, they are not applied and don't work.
Solution 1:[1]
Setting ribbon readTime in zuul server should solve this problem.
ribbon:
ReadTimeout: 60000
Note: ReadTimeout is case sensitive.
Solution 2:[2]
Add the following property in Zuul gateway service
hystrix:
command:
default:
execution:
iso lation:
thread:
timeoutInMilliseconds: 30000
ribbon:
ReadTimeout: 60000
connection-timeout: 3000
eureka:
enabled: true
zuul:
ignoredServices: '*'
host:
time-to-live: -1
connect-timeout-millis: 5000
max-per-route-connections: 10000
max-total-connections: 5000
socket-timeout-millis: 60000
semaphore:
max-semaphores: 500
Solution 3:[3]
Answer is edited
This way you will increase Hystrix timeout (globaly):
hystrix:
command:
default:
execution:
isolation:
thread:
timeoutInMilliseconds: 5000
or per service:
hystrix:
command:
<serviceName>:
execution:
isolation:
thread:
timeoutInMilliseconds: 5000
Solution 4:[4]
In your application.properties of zuul server just add that variables:
hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds: 240000
ribbon.ConnectTimeout: 120000
ribbon.ReadTimeout: 120000
You can also refresh your project in Intellij.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | Omtara |
Solution 2 | |
Solution 3 | |
Solution 4 | Johan David Munoz Olarte |