我正在设置(春季启动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中看到此屏幕截图,其中仅显示其他属性:
默认情况下,此Maven依赖项存在并激活Ribbon和hystrix吗?
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-zuul</artifactId>
</dependency>
答案 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配合使用,
注意:属性区分大小写
我尝试设置以下属性,但是IntelliJ指示了这些 属性“不存在”。这是IDE中的怪癖还是这些 属性仅在某些情况下才存在/活动?
在IDE中可能有些古怪。我们有官方文档说该属性已退出。