程序笔记   发布时间:2022-07-19  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了37、微服务远程调用 OpenFeign 的使用大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

1、创建微服务消费者cloud-consumer-feign-order80服务

编写pom.xml依赖Jar包

<dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-openfeign</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
        </dependency>

        <dependency>
            <groupId>com.atguigu.springcloud</groupId>
            <artifactId>cloud-api-commons</artifactId>
            <version>${project.version}</version>
        </dependency>

        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>
    </dependencies>

编写application.yml配置文件

server:
  port: 80

spring:
  application:
    name: cloud-feign-order-service

eureka:
  client:
    register-with-eureka: true
    fetch-registry: true
    service-url:
      # defaultZone: http://localhost:7001/eureka
      defaultZone: http://eureka7001.com:7001/eureka,http://eureka7002.com:7002/eureka
  instance:
    instance-id: feignOrder80
    prefer-ip-address: true
    #客户端向Eureka 发送心跳的时间间隔
    lease-renewal-interval-in-seconds: 1
    lease-expiration-duration-in-seconds: 2

编写主启动类

@SpringBootApplication
@EnableDiscoveryClient
@EnableFeignClients
public class OrderFeignApplication80
{
    public static void main(String[] args)
    {
        SpringApplication.run(OrderFeignApplication80.class,args);
    }
}

编写基于Feign的接口类

@Component
@FeignClient(value = "cloud-payment-service")
public interface PaymentFeignservice {

    @GetMapping(value = "/payment/get/{iD}")
    public CommonResult getById(@PathVariable("id")Long id);
}

编写业务类Controller 进行测试

@RestController
@Slf4j
@requestMapping(value = "/consumer")
public class OrderController {

    @resource
    private PaymentFeignservice paymentFeignservice;

    @GetMapping(value = "/payment/get/{iD}")
    public CommonResult getById(@PathVariable("id")Long id){
        return paymentFeignservice.getById(id);
    }
}

浏览器访问测试地址:http://localhost/consumer/payment/get/1409365580926001153

2、设置Feign调用的超时时间

修改application.yml配置

server:
  port: 80

spring:
  application:
    name: cloud-feign-order-service

eureka:
  client:
    register-with-eureka: true
    fetch-registry: true
    service-url:
      # defaultZone: http://localhost:7001/eureka
      defaultZone: http://eureka7001.com:7001/eureka,http://eureka7002.com:7002/eureka
  instance:
    instance-id: feignOrder80
    prefer-ip-address: true
    #客户端向Eureka 发送心跳的时间间隔
    lease-renewal-interval-in-seconds: 1
    lease-expiration-duration-in-seconds: 2

ribbon:
  ReadTimeout: 5000   #负载均衡超时时间,默认值5000
  ConnectTimeout: 5000 #ribbon请求连接的超时时间,默认值5000

3、开启Feign客户端的日志输出

编写配置类FeignConfig

@Configuration
public class FeignConfig {
    @Bean
    public Logger.Level feignLoggerLevel() {
        return Logger.Level.FULL;
    }
}

修改application.yml配置文件

37、微服务远程调用 OpenFeign 的使用

 

 查看控制台的日志打印

37、微服务远程调用 OpenFeign 的使用

 

大佬总结

以上是大佬教程为你收集整理的37、微服务远程调用 OpenFeign 的使用全部内容,希望文章能够帮你解决37、微服务远程调用 OpenFeign 的使用所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。