• Feign 和 OpenFeign 的区别???


    Feign 和 OpenFeign 的区别(精简记忆版)?

    1.支持spring mvc 注解

    2.整合了更多的扩展 (请求重试策略、超时控制、请求拦截器

    详细版:

    1. 起源与归属

      • Feign:最初由 Netflix 开发,是 Netflix OSS(Open Source Software)套件的一部分,用于简化客户端对服务端接口的调用,尤其适用于 Spring Cloud 环境。
      • OpenFeign:Spring Cloud 团队在 Feign 的基础上进行了扩展和封装,将其整合到 Spring Cloud 生态中,形成了 OpenFeign。因此,OpenFeign 可以看作是 Feign 的一个 Spring Cloud 官方支持版本。
    2. 与 Spring MVC 的集成

      • Feign:原生的 Feign 并不直接支持 Spring MVC 的注解,如 @RequestMapping@GetMapping@PostMapping 等。
      • OpenFeign:OpenFeign 显著的特点是对 Spring MVC 注解的支持,开发者可以直接使用熟悉的 Spring MVC 注解来定义接口,增强了与 Spring 体系的融合度,降低了学习成本。
    3. 配置与扩展性

      • Feign:虽然提供了基本的负载均衡支持(通常通过内置的 Ribbon 实现),但其配置选项和扩展性相对有限。
      • OpenFeign:在 Feign 的基础上增加了更多配置选项,如超时设置、重试策略、熔断器(如与 Hystrix 集成)等,增强了服务调用的稳定性和容错能力。此外,OpenFeign 支持更丰富的扩展,如日志记录、监控、安全性增强等,便于与 Spring Cloud 生态中的其他组件如 Sleuth、Zuul、Eureka 等更好地集成。
    4. 使用便捷性

      • OpenFeign:由于紧密集成于 Spring Cloud,OpenFeign 可以利用 Spring 的自动配置和依赖注入机制,简化了配置和使用过程。开发者只需添加适当的注解和依赖,即可快速启用 OpenFeign 功能,无需手动创建和配置 Feign 客户端实例。

    总结来说,OpenFeign 是对 Feign 的一次升级和优化,特别是在与 Spring 生态系统的集成、易用性、扩展性和配置灵活性方面做了显著改进。对于使用 Spring Cloud 构建微服务的项目来说,OpenFeign 通常是首选,因为它提供了更好的 Spring 兼容性和更为全面的功能集。而原始的 Feign 可能更适合那些不需要深度集成 Spring 或寻求更轻量级解决方案的项目。

  • 相关阅读:
    Java中的锁机制
    【C语言趣味教程】(3) 浮点类型:单精度浮点数 | 双精度浮点型 | IEEE754 标准 | 介绍雷神之锤 III 源码中的平方根倒数速算法 | 浮点数类型的表达方式
    Java(一)(引用类型的参数在传递,方法重载,面向对象编程基础)
    XML的解析
    day23集合02
    【马蹄集】—— 概率论专题:排列组合
    构建基于 Ingress 的全链路灰度能力
    阿里云域名免费配置HTTPS
    高性能数据访问中间件 OBProxy(四):一文讲透连接管理
    【openGauss-3.0.0单节点安装】
  • 原文地址:https://blog.csdn.net/qq_64847107/article/details/138168669