问题
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.
回答1:
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
回答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
回答3:
Setting robbin readTime in zuul server should solve this problem.
ribbon:
ReadTimeout: 60000
Note: ReadTimeout is case sentience. Hope it helps.
来源:https://stackoverflow.com/questions/55418340/com-netflix-zuul-exception-zuulexception-hystrix-readed-time-out