zoukankan      html  css  js  c++  java
  • 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、重试好像(尴尬脸)不会跨zone 

     完毕

  • 相关阅读:
    前端页面弹框遮罩禁止页面滚动
    微信浏览器兼容问题
    判断是否为空对象的方法
    reflow和repaint理解总结
    45道CSS基础面试题(附答案)
    iframe跨域修改子页面内容或样式
    日期中前一天和后一天
    js事件绑定方法
    C#常用的数据格式转换
    C#代码和javascript函数相互调用
  • 原文地址:https://www.cnblogs.com/flying607/p/8330551.html
Copyright © 2011-2022 走看看