【问题标题】:Zuul Read Timeout ExceptionZuul 读取超时异常
【发布时间】:2020-07-15 11:10:50
【问题描述】:

我有 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 都会花时间来解决任何一个服务实例并调用它。如何减少此响应时间?

【问题讨论】:

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


    【解决方案1】:

    还要添加以下配置以使其工作:

    #(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 抱怨这是未知属性,但它仍然有效。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-05-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-09
      • 1970-01-01
      • 2012-09-06
      • 2012-10-24
      相关资源
      最近更新 更多