SpringCloud的超时配置"/>
SpringCloud的超时配置
1.ribbon的超时
ribbon超时只使用于远程调用其他服务方式或者依赖ribbon进行转发的方式
# 请求连接的超时时间
ribbon.ConnectTimeout=2000
# 请求处理的超时时间
ribbon.ReadTimeout=2000
#不指定Ribbon默认使用轮询进行重试
ribbon.NFLoadBalancerRuleClassName=comflix.loadbalancer.RetryRule
# 在所有HTTP Method进行重试
ribbon.OkToRetryOnAllOperations=true
# 每台机器最大重试次数
ribbon.MaxAutoRetries=2
# 可以再重试几台机器
ribbon.MaxAutoRetriesNextServer=2
2. zuul网关
Zuul代理的请求配置socket超时和读取超时、连接超时,则根据您的配置,有两种选择:
- 如果Zuul使用服务发现,则需要使用ribbon.ReadTimeout(单位毫秒)和ribbon.SocketTimeout(单位毫秒) 、ribbon.ConnectTimeoutRibbon属性配置这些超时。
- 如果通过指定URL配置了Zuul路由,则需要使用zuul.host.connect-timeout-millis和zuul.host.socket-timeout-millis、zuul.host.connectTimeoutMillis。
3. Gateway网关
Gateway超时配置分为全局路由超时时间配置和单独路由的超时时间配置。
3.1 全局路由超时时间配置
spring:cloud:gateway:httpclient:connect-timeout: 1000response-timeout: 5s#connect-timeout 必须以毫秒为单位指定连接超时时间.
#response-timeout 必须指定为java.time.Duration
3.2 局部路由的超时时间配置
可以通过路由的metadata以下两个参数配置每个路由超时: connect-timeout
必须以毫秒为单位指定连接超时时间. response-timeout
必须以毫秒为单位指定响应超时时间.
- id: per_route_timeoutsuri: :- name: Pathargs:pattern: /delay/{timeout}metadata:response-timeout: 200connect-timeout: 200
4. 熔断器Hystrix
Hystrix依赖于Hystrix框架,触发熔断
## hystrix ,3秒后自动超时
hystrix:command:default: #default全局有效,service id指定应用有效execution:timeout:enabled: true #如果enabled设置为false,则请求超时交给ribbon控制,为true,则超时作为熔断根据isolation:thread:timeoutInMilliseconds: 3000直接禁用hystrix:
feign:hystrix:enabled: false
参考:
SpringCloud的各种超时时间配置效果_xxc1605629895的博客-CSDN博客_flipping property
Spring Cloud Gateway网关之超时时间配置 | 豆萁程序猿
更多推荐
SpringCloud的超时配置
发布评论