spring cloud 请求服务失败, 重试配置

本文介绍了在Spring Cloud中进行请求服务失败时的重试配置。针对1.5.6版本,详细讲解了如何引入重试相关的jar包,并提供了配置示例。重试机制通过拦截器实现,旨在处理服务宕机导致的连接失败问题,确保请求的高可用性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

版本

1.5.6
使用Ribbon zuul hystrix

引入重试jar包

<dependency>
<groupId>org.springframework.retry</groupId>
<artifactId>spring-retry</artifactId>
</dependency>

参考 LoadBalancerAutoConfiguration 以及RibbonAutoConfiguration
实现原理: RetryLoadBalancerInterceptor 实现 ClientHttpRequestInterceptor 通过拦截器实现

配置

属性描述默认值
spring.cloud.loadbalancer.retry.enabledture开启重试机制true
zuul.retryabletrue如果使用zuul,需要配置该属性false
hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds8000如果使用ribbon和hystrix,设置超时时间1000
ribbon.OkToRetryOnAllOperationstrue是否所有的操作都重试false
ribbon.MaxAutoRetriesNextServer2重试负载均衡其他实例的最大重试次数,不包括首次实例0
ribbon.MaxAutoRetries0同一台实例的最大重试次数,不包括首次调用0
ribbon.ConnectTimeout1000http建立socket超时时间
ribbon.ReadTimeout3000http读取响应socket超时时间

注意:
- ribbon.ConnectTimeout+ribbon.ReadTimeout<hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds
- 连接失败的意思是服务宕机,请求不可到达, 并不是服务报错

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值