使用默认设置时要使用哪个Spring Cloud Zuul超时属性?

时间:2019-05-29 10:11:23

标签: java spring-boot spring-cloud netflix-zuul gateway

我正在设置(春季启动2)春季云zuul /网关,并遇到了超时问题。在阅读了official docs并检查了similar question之后,我对所建议的解决方案并不信服。

我使用以下类型的路由配置:

routes:
 test-service:
  path: /test-service/**
  serviceId: test-service

我认为这不是“网址路由”,所以我认为这些属性不适用:

zuul.host.connect-timeout-millis
zuul.host.connection-request-timeout-millis
zuul.host.socket-timeout-millis

我尝试在下面设置属性,但是IntelliJ指示这些属性“不存在”。这是IDE中的一个怪癖,还是仅在某些情况下这些属性仅存在/活动?

hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds= 11000
hystrix.command.default.execution.timeout.enabled=false
ribbon.ConnectTimeout= 10000
ribbon.ReadTimeout: 10000

例如从我的bootstrap.yml中看到此屏幕截图,其中仅显示其他属性: enter image description here

默认情况下,此Maven依赖项存在并激活Ribbon和hystrix吗?

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-zuul</artifactId>
</dependency>

1 个答案:

答案 0 :(得分:1)

如果要在Zuul中配置超时,则有两个选项,

如果您已将Zuul配置为使用服务发现,则需要使用以下功能区属性配置这些超时

ribbon.ReadTimeout 
ribbon.SocketTimeout

如果您通过指定URL配置了Zuul路由,则使用以下属性,根据您的配置,您需要使用此属性

zuul.host.connect-timeout-millis
zuul.host.socket-timeout-millis

官方文档在这里(查看Zuul超时部分)

https://cloud.spring.io/spring-cloud-netflix/multi/multi__router_and_filter_zuul.html

下面将显示它们如何与Hystrix配合使用,

https://cloud.spring.io/spring-cloud-static/Edgware.SR3/single/spring-cloud.html#_service_discovery_configuration

注意:属性区分大小写

  

我尝试设置以下属性,但是IntelliJ指示了这些   属性“不存在”。这是IDE中的怪癖还是这些   属性仅在某些情况下才存在/活动?

在IDE中可能有些古怪。我们有官方文档说该属性已退出。