Spring Cloud中使用OpenFeign

一、简介

Spring Cloud OpenFeign通过自动配置和Spring环境以及其他Spring编程模型习惯用法提供Spring Boot应用程序的集成。

Feign是一个声明性的Web服务客户端。它使编写Web服务客户端变得更容易。要使用Feign,请创建一个界面并对其进行注释。它具有可插入的注释支持,包括Feign注释和JAX-RS注释。Feign还支持可插拔编码器和解码器。Spring Cloud增加了对Spring MVC注释的支持,并使用了HttpMessageConvertersSpring Web中默认使用的注释。Spring Cloud集成了Ribbon和Eureka,在使用Feign时提供负载均衡的http客户端

Feign,假装、伪装。OpenFeign可以使消费者将提供者提供的服务名伪装为接口进行消费,消费者只需使用“Service接口 + 注解”的方式即可直接调用Service接口方法,而无需再使用RestTemplate了

二、OpenFeign与Feign

Spring Cloud D版及之前的版本使用的是Feign,而该项目现已更新为了OpenFeign。所以后续使用的依赖也发生了变化

三、Ribbon与OpenFeign

说到OpenFeign,不得不提的就是Ribbon。Ribbon是Netflix公司的一个开源的负载均衡项目,是一个客户端负载均衡器,运行在消费者端。
OpenFeign也是运行在消费者端的,使用Ribbon进行负载均衡,所以OpenFeign直接内置了Ribbon。即在导入OpenFeign依赖后,无需再专门导入Ribbon依赖了

声明式Rest客户端OpenFeign

https://cloud.spring.io/spring-cloud-openfeign/reference/html/

四、创建消费者工程03-consumer-feign-8080

(1) 创建工程

复制02-consumer-8080,并重命名为03-consumer-feign-8080

https://blog.csdn.net/u012965203/article/details/99098274

(2) 添加openfeign依赖

<!--feign依赖-->
<dependency>
	<groupId>org.springframework.cloud</groupId>
	<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>

(3) 定义Service接口

(4) 修改处理器

(5) 修改配置文件

spring:
  application:
    name: abcmsc-consumer-depart

eureka:
  client:
    service-url:
      defaultZone: http://localhost:8000/eureka
      # defaultZone: http://eureka8100.com:8100/eureka,http://eureka8200.com:8200/eureka,http://eureka8300.com:8300/eureka
feign:
  client:
    config:
      default:
        connectTimeout: 5000  # 指定Feign客户端连接提供者的超时时限   取决于网络环境
        readTimeout: 5000   # 指定Feign客户端从请求到获取到提供者给出的响应的超时时限  取决于业务逻辑运算时间
  compression:
    request:
      enabled: true   # 开启对请求的压缩
      mime-types: text/xml, application/xml
      min-request-size: 2048   # 指定启用压缩的最小文件大小
    response:
      enabled: true   # 开启对响应的压缩

(6) 修改启动类

五、创建提供者工程03-provider-8081

(1)创建提供者工程03-provider-8081

复制工程02-provider-8081,并重命名为03-provider-8081

(2) 修改Service接口实现类

六、测试

(1)feign测试

(2)超时测试

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

2014Team

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值