feign和openfeign的区别

作者: 迦叶_金色的人生_荣耀而又辉煌 | 来源:发表于2021-11-11 07:21 被阅读0次

    上一篇 <<<如何选择ribbon还是loadbalancer
    下一篇 >>>RestTemplate+loadBalancer实现负载均衡代码演示及源码分析


    1.OpenFeign介绍

    是一个Web声明式的Http客户端远程远程调用工具,底层是封装HttpClient技术,提供接口和注解形式调用。
    注意feign客户端调用的事项:
    a、如果请求参数没有加上注解的话,默认采用post请求发送。
    b、服务的名称命名不能够有下划线,只能使用中划线,否则会报下列的错。

    java.lang.IllegalStateException:Service id not legal hostname
    

    2.feign和openfeign的区别

    a、他们底层都是内置了Ribbon,去调用注册中心的服务。
    a、Feign是Netflix公司写的,是SpringCloud组件中的一个轻量级RESTful的HTTP服务客户端,是SpringCloud中的第一代负载均衡客户端。
    OpenFeign是SpringCloud自己研发的,在Feign的基础上支持了Spring MVC的注解,如@RequesMapping等等。是SpringCloud中的第二代负载均衡客户端。
    b、Feign本身不支持Spring MVC的注解,使用Feign的注解定义接口,调用这个接口,就可以调用服务注册中心的服务
    OpenFeign的@FeignClient可以解析SpringMVC的@RequestMapping注解下的接口,并通过动态代理的方式产生实现类,实现类中做负载均衡并调用其他服务。

    feign已不在维护,openfeign维护频繁。


    推荐阅读:
    <<<本地负载均衡和nginx负载均衡
    <<<SpringCloud中负载均衡客户端的使用
    <<<如何选择ribbon还是loadbalancer
    <<<RestTemplate+loadBalancer实现负载均衡代码演示及源码分析
    <<<OpenFeign实现负载均衡代码演示
    <<<Feign超时配置

    相关文章

      网友评论

        本文标题:feign和openfeign的区别

        本文链接:https://www.haomeiwen.com/subject/hwceoltx.html