• FeignClient自定义配置


    FeignClient里如何进行重试(Retry)和超时(timeout)配置

    FeigninClient的默认connectTimeout为10s,readTimeout为60。仅设置超时可能不会立即生效,因为默认重试次数为5次。 因此,如果想要快速失败,则必须同时自定义超时和重试的参数,并应确保反向代理。 例如,nginx的proxy_connect_timeout和proxy_read_timeout必须大于feign的配置才能生效。 否则,nginx的504网关超时仍然会被外部用户感知,并且无法实现回滚效果。

    • 配置类
    package cn.com.hopson.hopsonone.park.js.conf;
    
    import feign.Request;
    import feign.Retryer;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    
    import java.util.concurrent.TimeUnit;
    
    
    @Configuration
    public class FeignConfig {
    
    
        /**
         * 配置请求重试
         */
        @Bean
        public Retryer feignRetryer() {
            return new Retryer.Default(200, TimeUnit.SECONDS.toMillis(10), 10);
        }
    
    
        /**
         * 设置请求超时时间
         * 默认
         * public Options() {
         * this(10 * 1000, 60 * 1000);
         * }
         */
        @Bean
        Request.Options feignOptions() {
            return new Request.Options(60 * 1000, 60 * 1000);
        }
    
    
        /**
         * 打印请求日志
         * <p>
         * NONE: 不记录任何信息
         * BASIE:仅记录请求方法,URL以及响应状态码和执行时间
         * HEADERS:除了记录BASIE级别得信息之外,还会记录请求和响应得头信息
         * FULL:记录所有请求与响应得明细,包括头信息,请求体,元数据等。
         *
         * @return
         */
        @Bean
        public feign.Logger.Level multipartLoggerLevel() {
            return feign.Logger.Level.FULL;
        }
    
    }
    
    • 注解指定配置文件
    @FeignClient(name = "hopsonone-park-search", configuration = FeignConfig.class)
    
  • 相关阅读:
    顺序队列的模板
    链式队列模板
    链式栈模板
    栈应用hanoi
    判断出栈顺序
    用栈实现四则运算
    两栈共享问题
    The Preliminary Contest for ICPC Asia Nanjing 2019
    Educational Codeforces Round 71 (Rated for Div. 2)
    HDU6583:Typewriter(dp+后缀自动机)
  • 原文地址:https://www.cnblogs.com/luliang888/p/13300045.html
Copyright © 2020-2023  润新知