欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

spring cloud各种超时时间设置

程序员文章站 2022-07-10 23:44:03
如果是zuul(网关)的超时时间需要设置zuul、hystrix、ribbon等三部分: #zuul超时设置#默认1000zuul.host.socket-timeout-millis=2000#默认2000zuul.host.connect-timeout-millis=4000 #熔断器启用fe ......

如果是zuul(网关)的超时时间需要设置zuul、hystrix、ribbon等三部分:

#zuul超时设置
#默认1000
zuul.host.socket-timeout-millis=2000
#默认2000
zuul.host.connect-timeout-millis=4000

#熔断器启用
feign.hystrix.enabled=true
hystrix.command.default.execution.timeout.enabled=true
#断路器的超时时间,下级服务返回超出熔断器时间,即便成功,消费端消息也是timeout,所以一般断路器的超时时间需要大于ribbon的超时时间。
#服务的返回时间大于ribbon的超时时间,会触发重试
##默认=1000,太小
hystrix.command.default.execution.isolation.thread.timeoutinmilliseconds=60000

#断路器详细设置
#当在配置时间窗口内达到此数量的失败后,进行短路。默认20个)
#hystrix.command.default.circuitbreaker.requestvolumethreshold=20
#短路多久以后开始尝试是否恢复,默认5s)
#hystrix.command.default.circuitbreaker.sleepwindowinmilliseconds=5
#出错百分比阈值,当达到此阈值后,开始短路。默认50%)
#hystrix.command.default.circuitbreaker.errorthresholdpercentage=50%
#ribbon请求连接的超时时间- 限制3秒内必须请求到服务,并不限制服务处理的返回时间
ribbon.connecttimeout=3000
#请求处理的超时时间 下级服务响应最大时间,超出时间消费方(路由也是消费方)返回timeout
ribbon.readtimeout=5000
# 单独设置某个服务的超时时间,会覆盖其他的超时时间限制,服务的名称已注册中心页面显示的名称为准,超时时间不可大于断路器的超时时间
#service-a.ribbon.readtimeout=60000
#service-a.ribbon.connecttimeout=60000

#重试机制
#该参数用来开启重试机制,默认是关闭
spring.cloud.loadbalancer.retry.enabled=true
#对所有操作请求都进行重试
ribbon.oktoretryonalloperations=true
#对当前实例的重试次数
ribbon.maxautoretries=1
#切换实例的重试次数
ribbon.maxautoretriesnextserver=1
#根据如上配置,当访问到故障请求的时候,它会再尝试访问一次当前实例(次数由maxautoretries配置),
#如果不行,就换一个实例进行访问,如果还是不行,再换一次实例访问(更换次数由maxautoretriesnextserver配置),
#如果依然不行,返回失败信息。