Zuul读取超时例外

时间:2018-03-29 11:37:47

标签: spring-boot microservices netflix-zuul netflix-eureka

我有Zuul试图通过Eureka连接到学生服务。我在Eureka注册了8个学生服务实例。 Zuul应该连接到任何一个学生服务并进行负载平衡。

我观察的是,当我的学生服务实例较少时,响应时间较短,但是当我增加实例时,响应时间会增加。

Zuul Configuration :

hystrix:
  command:
    default:
      execution:
        timeout:
          enabled: false

ribbon:
  ReadTimeout: 30000
  ConnectTimeout: 30000

eureka:
  client:
    serviceUrl:
      defaultZone: http://localhost:8761/eureka/
  instance:
    hostname: localhost

我假设每当我们在Eureka有更多服务实例时,Zuul需要时间来解决任何一个服务实例并调用它。如何缩短此响应时间?

1 个答案:

答案 0 :(得分:0)

还添加以下配置以使其起作用:

#(ribbon.ReadTimeout + ribbon.connectTimeout) * (1+ribbon.maxAutoRetries(default 0) * (ribbon.MaxAutoRetriesNextServer (default 1) + 1)
#timeoutInMilliseconds= (5000 + 5000) * (1+0)*(1+1) =20000

hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds=21000

注意:尽管IDE抱怨这是未知属性,但它仍然有效。