03 微服务调用组件Feign实战.pdf
03-1 微服务调用组件Dubbo实战(2).pdf
OpenFeign
是声明式、模板化的HTTP客户端,可以做到使用 HTTP 请求远程服务时就像调用本地方法一样的体验,它解决了让开发者调用远程接口就跟调用本地方法 一样,无需关注与远程的交互细节,更无需关注分布式环境开发。
feign和openfeign的区别
1、他们底层都是内置了Ribbon,去调用注册中心的服务。
2、Feign是Netflix公司写的,一个轻量级RESTful的HTTP服务客户端;OpenFeign是改进版,在Feign的基础上支持了Spring MVC的注解,如@RequesMapping等
3、OpenFeign的@FeignClient可以解析SpringMVC的@RequestMapping注解下的接口,并通过动态代理的方式产生实现类,实现类中做负载均衡并调用其他服务。
4、feign已不在维护,openfeign维护频繁
从Open Feign迁移到Dubbo
Dubbo Spring Cloud 提供了方案,即 @DubboTransported 注解,支持在类,方法,属性
上使用。能够帮助服务消费端的 Spring Cloud Open Feign 接口以 及 @LoadBalanced RestTemplate Bean 底层走 Dubbo 调用(可切换 Dubbo 支持的协 议),而服务提供方则只需在原有 @RestController 类上追加 Dubbo @Servce 注解(需要 抽取接口)即可,换言之,在不调整 Feign 接口以及 RestTemplate URL 的前提下,实现无缝 迁移。
