Zuul使用Ribbon配置自动重试

Zuul使用Ribbon配置自动重试

spring cloud的版本不断演进,导致很多配置的配置方式不断改变,有时某个配置在一个版本里面默认是true,后边一升级默认成了false,这点让人有点不爽。

言归正传

 

0、所使用版本

spring cloud版本:Dalston.SR1

spring boot版本:1.5.4.RELEASE

步骤如下:

1、在配置文件中添加以下关键内容:

spring:
  cloud:
    loadbalancer:
      retry:
#  据说ribbon重试默认已经开启
        enabled: true

zuul:
#  重试必配,据说在Brixton.SR5版的spring cloud中该配置默认是true,结果在Dalston.SR1中看到的是false
  retryable: true

ribbon:
#  ribbon重试超时时间
  ConnectTimeout: 250
#  建立连接后的超时时间
  ReadTimeout: 1000
#  对所有操作请求都进行重试
  OkToRetryOnAllOperations: true
#  切换实例的重试次数
  MaxAutoRetriesNextServer: 2
#  对当前实例的重试次数
  MaxAutoRetries: 1
  eureka:
      enable: true

注意:

如果想指定某个路径的重试的开启和关闭,可以配置zuul.routes.<route>.retryable的false和true

 

2、在pom中引入如下内容:

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

以支持:org.springframework.retry.support.RetryTemplate,进而初始化ribbon的重试策略,原因如下图源码所示,注意其中的@ConditionalOnClass

3.启动类加上@EnableRetry注解。

 

3、重试好像(尴尬脸)不会跨zone

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值