SpringCloud OpenFeign-服务调用

1.OpenFeign介绍

GitHub - spring-cloud/spring-cloud-openfeign: Support for using OpenFeign in Spring Cloud apps

  1. OpenFeign是一个声明式WebService客户端,使用OpenFeign让编写Web Service客户端更加简单
  2. 它的使用方法是定义一个服务端口然后在上面添加注解
  3. OpenFeign也支持可插拔式的编码器和解码器
  4. SpringCloud对OpenFeign进行了封装使其支持SpringMVC标准注解和HttpMessageConverters消息转换器
  5. OpenFeign可以与Eureka和Ribbon组合使用以支持负载均衡

2.OpenFeign和Feign的区别

  • Feign
    1. Feign是SpringCloud组件中的一个轻量级RESTful的Http服务客户端
    2. Feign内置了Ribbon,用来做客户端负载均衡,去调用服务注册中心的服务
    3. Feign的使用方法是:使用Feign的注解定义接口,调用服务注册中心的服务
    4. Feign支持的注解和用法请参考官方文档:OpenFeign/feign: Feign makes writing java http clients easier (github.com)
    5. Feign本身不支持SpringMVC注解,它有一套自己的注解
    6. Feign集成了Ribbon、RestTemplate实现了负载均衡的执行Http调用,只不过对原有的方式(Ribbon+RestTemplate)进行了封装,开发者不必手动使用RestTemplate调服务,而是定义一个接口,在这个接口中标注一个注解即可完成服务调用,这样更加符合面向接口编程的宗旨,简化了开发。
  • OpenFeign
    1. OpenFeign是SpringCloud在Feign的基础上支持了SpringMVC的注解,如@RequestMapping等
    2. OpenFeign的@FeignClient可以解析SpringMVC的@RequestMapping注解下的接口
    3. OpenFeign通过动态代理的方式产生实现类,实现类中做负载均衡并调用其他服务
  • 一句话:OpenFeign就是在Feign的基础上做了加强

3.OpenFeign应用实例

需求分析:如下,将原来使用Ribbon+RestTemplate实现:获取服务+远程调用+负载均衡,替换为使用OpenFeign来实现

参考 member-service-consumer-80 创建 member-service-consumer-openfeign-80(步骤参考以前)

(1)创建新模块-member-service-consumer-openfeign-80

(2)修改 pom.xml:拷贝 member-service-consumer-80 的 pom.xml 依赖,并加入 openfeign-starter

 
<!-- 引入 openfeign -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>

(3)创建application.yml

 
server:
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值