1Feign介绍 · SpringCloud微服务实战 · 看云

导航


上个模块我们讲解和分析了RIbbon 的功能和作用,提供了分布式架构之前调用的负载均衡策略,使我们分布式架构必须要考虑的,使用了Spring自带的RestTemplate。而RestTemplate使用的是HttpClient发送请求。本节我们将介绍另一个重要的REST客户端Feign

1.Feign介绍

Feign是GitHub 上的一个开源项目,目的之简化Web Service 客户端的开发,以Java接口注解的方式调用Http请求,而不用像Spring自带的RestTemplate直接调用。Feign通过处理注解,将请求模板化,当实际调用的时候,传入参数,根据参数再应用到请求上,进而转化成真正的请求,这种请求相对而言比较直观。
Spring Cloud 将Feign 整合到了Netflix项目中,当与Eureka、Ribbon整合时,Feign 就具备了负载均衡的能力,在Spring Cloud 的高度整合下,使用该框架调用Spring Cloud集群服务,会大大降低开发工作量。

2. Feign 的职责

通过下面这张图,我看下一下Feign在Spring Cloud 集群之间起到的作用
9f7850e447fd254167dca9d682af3563_MD5.webp

由此我们看,Feign 主要提供了Spring Cloud 集群之间的HTTP调用功能

下面我们将在代码中体现出来