springcloudspring cloud编程语言爱好者

feign和openfeign的区别

2021-11-11  本文已影响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超时配置

上一篇下一篇

猜你喜欢

热点阅读