feign和openfeign的区别

上一篇 <<<如何选择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超时配置

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容