Netflix Feign、OpenFeign
Feign 最开始是 Netflix 开源是一个组件, maven 坐标为
<dependency>
<groupId>com.netflix.feign</groupId>
<artifactId>feign-core</artifactId>
</dependency>
- 2013年6月 Netflix Feign 第一个版本
1.0.0发布 - 2016年7月 Netflix Feign 发布其最后一个版本
8.18.0
2016年,Netflix 将 Feign 捐献给社区,并改名为 OpenFeign, maven 坐标为
<dependency>
<groupId>io.github.openfeig</groupId>
<artifactId>feign-core</artifactId>
</dependency>
- 2016年7月 OpenFeign 的首个版本
9.0.0发布,之后一直持续发布到现在
Spring Cloud Feign
Spring Cloud Feign 是 Spring 对 Feign 的封装,方便集成到 Spring 项目中,添加了对 Spring MVC 注释的支持,并简化了与负载均衡、服务注册发现、断路器等组件的集成
受 Feign 更名影响,Spring Cloud Feign 也有两个 starter
spring-cloud-starter-feignspring-cloud-starter-openfeign
他俩的 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>
Spring Cloud Feign 发版历史
- 2015年3月 spring-cloud-starter-feign 发布了 1.0.0.RELEASE 版本,依赖的 feign 为
<dependency>
<groupId>com.netflix.feign</groupId>
<artifactId>feign-core</artifactId>
<version>7.1.0</version>
</dependency>
- 2016年7月 Netflix Feign 更名为 OpenFeign 并发布了更名后的首个版本
9.0.0
受更名事件影响,Spring Cloud 团队也为 OpenFeign 创建了一个区别于 Netflix Feign 的starter —— spring-cloud-starter-openfeign
同时,为了帮助原来的 spring-cloud-starter-feign 用户逐步切换到新的 spring-cloud-starter-openfeign,原来的 spring-cloud-starter-feign 项目并没有立即停止发版,而是和 spring-cloud-starter-openfeign 共存了一段时间
- 2016年9月,
spring-cloud-starter-feign将依赖从 Netflix Feign 改为 OpenFeig ,并发布了1.2.0.RELEASE
- 2017年11月,Spring Cloud 团队将两个
feign starter进行"合并",发布了spring-cloud-starter-openfeign的首个版本1.4.0.RELEASE,和spring-cloud-starter-feign的1.4.0.RELEASE版本
从下面的依赖图中,可以看出,spring-cloud-starter-feign:1.4.0.RELEASE 其实就是 spring-cloud-starter-openfeign:1.4.0.RELEASE 的换皮
- 2019年5月23日 spring-cloud-starter-feign 发布了最后一个换皮版本
1.4.7.RELEASE,到此,过渡期也就结束了
Feign 各版本总结
-
Feign 最开始是 Netflix 公司开源是一个组件
-
2016年,Netflix 将 Feign 捐献给社区,并改名为 OpenFeign
-
Spring Cloud Feign 是对 Feign 的封装,以方便在 Spring 环境中使用
spring-cloud-starter-feign是 Spring Cloud Feign 的早期版本,现已不在维护spring-cloud-starter-openfeign是目前正在使用中的 Spring Cloud Feign