SpringCloud的超时配置

编程入门 行业动态 更新时间:2024-10-25 10:25:50

<a href=https://www.elefans.com/category/jswz/34/1769911.html style=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的超时配置

本文发布于:2024-02-27 00:04:05,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1704490.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:SpringCloud

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!