Hystrix 默认超时不起作用
Posted
技术标签:
【中文标题】Hystrix 默认超时不起作用【英文标题】:Hystrix default timeout not work 【发布时间】:2018-12-21 12:06:15 【问题描述】:像这样设置默认超时
hystrix:
threadpool:
default:
coreSize: 500
maxQueueSize: 1000
queueSizeRejectionThreshold: 800
command:
default:
execution:
isolation:
thread:
timeoutInMilliseconds: 30000
功能区:
ribbon:
eager-load:
enabled: true
clients: dcit-auth,dcit-service-upms,dcmd-service-demand
Httpclient:
enabled: false
OkHttp:
enabled: true
ReadTimeout: 30000
ConnectTimeout: 30000
假装:
feign:
hystrix:
enabled: true
okhttp:
enabled: true
httpclient:
enabled: false
client:
config:
feignName:
connectTimeout: 30000
readTimeout: 30000
compression:
request:
enabled: true
response:
enabled: true
hystrix metics 为我服务:
“gauge.servo.hystrix.hystrixcommand.ribboncommand.myservice.propertyvalue_executiontimeoutinmilliseconds”:2000,
每次myservice响应超过2s都会返回500超时错误。
为什么超时设置不起作用?
【问题讨论】:
嗨!你找到解决办法了吗? @KadzhaevMarat 不,放弃,我只是更新到 Spring Boot 2.0 来解决这个问题 【参考方案1】:我认为你正在达到 Feign 超时。 使用 feign.client.config.default 而不是 feign.client.config.feignName 将其定义为应用程序中的所有 Feign 客户端。
【讨论】:
以上是关于Hystrix 默认超时不起作用的主要内容,如果未能解决你的问题,请参考以下文章
spring cloud:Edgware.RELEASE版本hystrix超时新坑
Spring Boot Hystrix maximumSize 不起作用