java - 使用默认设置时使用哪个 Spring Cloud Zuul 超时属性?
问题描述
我正在设置(Spring boot 2)Spring cloud zuul/gateway 并遇到超时问题。在阅读了官方文档并检查了一个类似的问题之后,我不相信提出的解决方案。
我使用以下类型的路由配置:
routes:
test-service:
path: /test-service/**
serviceId: test-service
我认为这不是“url路由”,所以我认为这些属性不适用:
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 中查看此屏幕截图,其中仅建议其他属性:
Ribbon 和 hystrix 在这个 maven 依赖项下默认存在并处于活动状态吗?
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-zuul</artifactId>
</dependency>
解决方案
如果你想在 Zuul 中配置超时,你有两个选择,
如果您已将 Zuul 配置为使用服务发现,则需要使用以下 Ribbon 属性配置这些超时
ribbon.ReadTimeout
ribbon.SocketTimeout
如果您通过指定 URL 配置了 Zuul 路由,则使用以下属性,根据您的配置,您需要使用这个
zuul.host.connect-timeout-millis
zuul.host.socket-timeout-millis
官方文档在这里(查看 Zuul Timeouts 部分)
https://cloud.spring.io/spring-cloud-netflix/multi/multi__router_and_filter_zuul.html
下面将展示它们如何与 Hystrix 一起工作,
注意:属性区分大小写
我尝试设置以下属性,但 IntelliJ 指示这些属性“不存在”。这是 IDE 中的一个怪癖,还是这些属性仅在某些情况下存在/激活?
可能是 IDE 中的怪癖。我们有官方文档说属性退出。
推荐阅读
- r - 事件矩阵名称提取所有 TRUE
- http - HTTP 用户/密码抓取混乱
- python - 如何比较两个熊猫数据框并删除一个文件上的重复项而不附加其他文件中的数据
- r - 将 aa 字符列转换为具有多种格式的日期
- scala - 如何缩小列表但保证它不为空?
- maven - 无法使用 Maven Archetype 为 opendaylight 创建项目
- performance - 在 Ubuntu 16.04 上输入时 Android Studio 变得迟钝
- php - 在 laravel 中找不到类路径
- c# - 如何解决以下代码的错误?
- reactjs - 在 React Native 中重新获取和重新渲染组件