SpringCloud服务调用之OpenFeign

2021-01-28 19:16

阅读:621

标签:超过   create   接口   hide   main   超时   pre   acl   alt   

技术图片

 

 技术图片


 怎么使用?

注意:FeignClinet 是在消费段调用。Feign自带负载均衡配置项

1.导入pom

技术图片技术图片

         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    
        cloud2020
        com.atguigu.springcloud1.0-SNAPSHOT4.0.0

    cloud-consumer-feign-order80
    订单消费者之feignorg.springframework.cloud
            spring-cloud-starter-openfeign
        org.springframework.cloud
            spring-cloud-starter-netflix-eureka-server
        com.atguigu.springcloud
            cloud-api-common
            ${project.version}org.springframework.boot
            spring-boot-starter-web
        org.springframework.boot
            spring-boot-starter-actuator
        org.springframework.boot
            spring-boot-devtools
            runtimetrueorg.projectlombok
            lombok
            trueorg.springframework.boot
            spring-boot-starter-test
            test
View Code

 2.修改yml

技术图片技术图片
YML
View Code

 3.主启动类

技术图片技术图片
package com.atguigu.springcloud;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
import org.springframework.cloud.openfeign.EnableFeignClients;


@SpringBootApplication
@EnableEurekaClient
@EnableFeignClients
public class OrderFeignMain80 {
    public static void main(String[] args) {
        SpringApplication.run(OrderFeignMain80.class, args);
    }
}
 
 
View Code

 4.总结

技术图片

 


 OpenFeign默认等待1秒钟,超过后报错,OpenFeign默认支持Ribbon,YML文件里需要开启OpenFeign客户端超时控制

技术图片技术图片
server:
  port: 80
eureka:
  client:
    register-with-eureka: false
    fetch-registry: true
    service-url:
      defaultZone: http://eureka7001.com:7001/eureka,http://eureka7002.com:7002/eureka
# 设置feign客户端超时时间(OpenFeign默认支持ribbon)
ribbon:
  # 指的是建立连接所用的时间,适用于网络状态正常的情况下,两端连接所用的时间
  ReadTimeout: 5000
  # 指的是建立连接后从服务器读取到可用资源所用的时间
  ConnectTimeout: 5000
 
View Code

OpenFeign日志打印功能

技术图片

 日志级别:

 技术图片

 如果想在Openfeign里面使用日志服务的话,需要配置bean

技术图片技术图片
package com.atguigu.springcloud.config;

import feign.Logger;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * OpenFeignClient配置
 *
 * @author zzyy
 * @create 2020/3/6 18:02
 **/
@Configuration
public class FeignConfig {

    /**
     * feignClient配置日志级别
     *
     * @return
     */
    @Bean
    public Logger.Level feignLoggerLevel() {
        // 请求和响应的头信息,请求和响应的正文及元数据
        return Logger.Level.FULL;
    }
}
 
 
View Code

 yml文件里面也是需要配置的

技术图片技术图片
server:
  port: 80
eureka:
  client:
    register-with-eureka: false
    fetch-registry: true
    service-url:
      defaultZone: http://eureka7001.com:7001/eureka,http://eureka7002.com:7002/eureka
# 设置feign客户端超时时间(OpenFeign默认支持ribbon)
ribbon:
  # 指的是建立连接所用的时间,适用于网络状态正常的情况下,两端连接所用的时间
  ReadTimeout: 5000
  # 指的是建立连接后从服务器读取到可用资源所用的时间
  ConnectTimeout: 5000
logging:
  level:
    # feign日志以什么级别监控哪个接口
    com.atguigu.springcloud.service.PaymentFeignService: debug
 
View Code

日志如下:

技术图片

 

SpringCloud服务调用之OpenFeign

标签:超过   create   接口   hide   main   超时   pre   acl   alt   

原文地址:https://www.cnblogs.com/cb1186512739/p/12750370.html


评论


亲,登录后才可以留言!