💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、豆包、星火、月之暗面及文生图、文生视频 广告
其实OpenFeign的使用方式,已经为大家介绍过了,可以说是非常简单,就是@FeignClients注解加上Spring MVC注解的方式书写“伪装”接口函数,然后在业务需要的地方像使用本地方法一样调用接口函数。 > 这个@FeignClients的远程接口调用方法,如果忘了,请回头看一下《第一个微服务调用》 实际上在OpenFeign出现之前,有一个阶段,开发者经常使用的是Netflix Feign。二者在使用方式、版本集成方面还是有一些差异性。本篇就为大家介绍一下。 ## 一、Netlix Feign * Feign是Spring Cloud组件中的一个轻量级RESTful的HTTP服务客户端 * Feign内置了Ribbon,用来做客户端负载均衡,去调用服务注册中心的服务。 * Feign的使用方式是:使用Feign的注解定义接口,调用这个接口,就可以调用服务注册中心的服务 * Feign本身不支持Spring MVC的注解,它有一套自己的注解。Feign的注解和用法请参考官方文档:[https://github.com/OpenFeign/feign](https://github.com/OpenFeign/feign) **下图中注释掉的部分是Feign的注解书写方式**,没有注释掉的注解是Spring MVC的注解方式。显然,Spring MVC的注解我们使用起来更加统一、方便、常用。所以下文中的注释掉的这种注解的书写方式**了解即可,已经没有必要学习使用了**。 ![](https://img.kancloud.cn/18/7b/187b5830561a22ebfd9371aa27ea40b7_873x342.png) 因为Feign在一些方面与Spring MVC常用习惯的兼容性不够好,Feign又是属于netflix的产品,该公司对于Spring Cloud社区的支持也逐渐减弱。所以Spring Cloud社区基于各种原因在Feign的基础上开发了OpenFeign。 ![](https://img.kancloud.cn/00/03/0003ecca8cbad0ef71ee83069a2a8c6c_1153x336.png) ## 二、 Netflix Feign还是Open Feign? **1、maven坐标差异**: ~~~ <dependency> <groupId>com.netflix.feign</groupId> <artifactId>feign-core</artifactId> </dependency> <dependency> <groupId>io.github.openfeign</groupId> <artifactId>feign-core</artifactId> </dependency> ~~~ **2、官网地址差异**:`https://github.com/Netflix/feign`和`https://github.com/OpenFeign/feign`。不过现在访问`https://github.com/Netflix/feign`前者已经被重定向到了后者上。 **3、发版历史**: * Netflix Feign:`1.0.0`发布于2013.6,于2016.7月发布其**最后一个版本**`8.18.0` * Open Feign:首个版本便是`9.0.0`版,于2016.7月发布,然后一直持续发布到现在(未停止) 可以简单的理解:**`Netflix Feign`仅仅只是改名成为了`Open Feign`而已**,然后Open Feign项目在其基础上继续发展至今。9.0版本之前它叫Netflix Feign,自9.0版本起它改名叫Open Feign了。 ## 二、Spring Cloud Feign还是Spring Cloud OpenFeign? **1、maven坐标差异**: ~~~ <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-feign</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId> </dependency> ~~~ **2、发版历史**: * spring-cloud-starter-feign:2015.3发布1.0.0版本,2019.5.23发布器最后一个版本`1.4.7.RELEASE` * spring-cloud-starter-openfeign:2017.11发布其首个版本,版本号为:`1.4.0.RELEASE`。现在仍持续更新中,当下最新版为`2.2.1.RELEASE` 对于版本,可粗略的理解为: * `spring-cloud-starter-openfeign`是为Spring Cloud2.x准备的,只不过维持了一段时间的对1.x的兼容。 * 而`spring-cloud-starter-feign`是专为Spring Cloud1.x服务。