Feign 和 OpenFeign 的区别(精简记忆版)?
1.支持spring mvc 注解
2.整合了更多的扩展 (请求重试策略、超时控制、请求拦截器)
详细版:
-
起源与归属:
- Feign:最初由 Netflix 开发,是 Netflix OSS(Open Source Software)套件的一部分,用于简化客户端对服务端接口的调用,尤其适用于 Spring Cloud 环境。
- OpenFeign:Spring Cloud 团队在 Feign 的基础上进行了扩展和封装,将其整合到 Spring Cloud 生态中,形成了 OpenFeign。因此,OpenFeign 可以看作是 Feign 的一个 Spring Cloud 官方支持版本。
-
与 Spring MVC 的集成:
- Feign:原生的 Feign 并不直接支持 Spring MVC 的注解,如
@RequestMapping
、@GetMapping
、@PostMapping
等。 - OpenFeign:OpenFeign 显著的特点是对 Spring MVC 注解的支持,开发者可以直接使用熟悉的 Spring MVC 注解来定义接口,增强了与 Spring 体系的融合度,降低了学习成本。
- Feign:原生的 Feign 并不直接支持 Spring MVC 的注解,如