Spring Cloud入门系列(八)- 负载均衡之Open Feign

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

测试功能

全日志打印在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/single_0910/article/details/120641326