Spring Cloud入门系列(八)- 负载均衡之Open Feign
Open Feign 的超时控制

8001端口的PaymentController新增以下代码:

/**
     * openfeign-ribbon 客户端一般默认等待1秒钟
     * 故意让它睡眠三秒钟,模拟超时操作
     */
    @GetMapping("/openfeign/timeout")
    public String openFeignTimeOut() {
        try {
            Thread.sleep(3000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        return serverPort;
    }
在80端口的application.yml中增加以下配置:
#设置feign客户端超时时间(OpenFeign 默认支持ribbon)
ribbon:
  #指的是建立连接所用时间,适用于网络状况正常情况下,两端连接所用时间
  ReadTimeout: 5000
  #指的是连接建立后,从服务器获取到可用资源所用时间
  ConnectTimeout: 5000
Open Feign 的日志打印功能


Open Feign 的四种日志级别

配置日志Bean

package com.banana.springcloud.config;
import feign.Logger;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
 * openfeign的日志bean
 * @author layman
 * @date 2021/1/17
 */
@Configuration
public class OpenFeignLoggerLevel {
    /**
     * openfeign的4种日志级别:
     *      NONE: 默认的,不显示任何日志
     *      BASIC: 仅记录请求方法、URL、响应状态码以及执行时间
     *      HEADERS:除了BASIC 中自定义的信息外,还有请求和响应的信息头
     *      FULL: 除了HEADERS中定义的信息外, 还有请求和响应的正文以及元数据。
     */
    @Bean
    Logger.Level feignLoggerLevel() {
        return Logger.Level.FULL;
    }
}
#feign 日志以什么级别监控那个接口
logging:
  level:
    com.banana.springcloud.service: debug
测试功能
全日志打印
Open Feign和Ribbon的区别
推荐博客:https://www.cnblogs.com/unchain/p/13405814.html
@FeignClient注解的详细介绍:https://blog.csdn.net/u010889990/article/details/103884187
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号