一、Feign介绍
- Feign是一个声明式web服务客户机。
- 它使编写web服务客户机更容易。
- 要使用Feign创建一个接口并对其进行注释。
- 它具有可插入注释支持,包括Feign注释和JAX-RS注释。
- Feign还支持可插式编码器和解码器。
- Spring Cloud增加了对Spring MVC注释的支持,并支持使用Spring Web中默认使用的HttpMessageConverters。
- Spring Cloud集成了Eureka、Spring Cloud CircuitBreaker以及Spring Cloud LoadBalancer,在使用Feign时提供一个负载平衡的http客户端。
- 内部集成了ribbon负载均衡
二、Feign常用注解
使用 Fegin 进行远程服务调用时,常用注解如下表。
注解 | 说明 |
---|---|
@FeignClient | 该注解用于通知 OpenFeign 组件对 @RequestMapping 注解下的接口进行解析,并通过动态代理的方式产生实现类,实现负载均衡和服务调用。 |
@EnableFeignClients | 该注解用于开启 OpenFeign 功能,当 Spring Cloud 应用启动时,OpenFeign 会扫描标有 @FeignClient 注解的接口,生成代理并注册到 Spring 容器中。 |
@RequestMapping | Spring MVC 注解,在 Spring MVC 中使用该注解映射请求,通过它来指定控制器(Controller)可以处理哪些 URL 请求& |