1 Feign简介
Feign [feɪn] 译文 伪装。Feign是一个声明式WebService客户端.使用Feign能让编写WebService客户端更加简单,它的使用方法是定义一个接口,然后在上面添加注解。不再需要拼接URL,参数等操作。项目主页:GitHub - OpenFeign/feign: Feign makes writing java http clients easier 。
-
集成Ribbon的负载均衡功能
-
集成了Hystrix的熔断器功能
-
支持请求压缩
-
大大简化了远程调用的代码,同时功能还增强啦
-
Feign以更加优雅的方式编写远程调用代码,并简化重复代码
1.Feign用来实现远程调用,主要用于微服务之间的调用
2.Feign集成Ribbon具有负载均衡的能力
3.集成Hystrix具有熔断能力
4.支持数据压缩,可以提升网络请求速度
5.简化了远程调用
快速入门
使用Feign替代RestTemplate发送Rest请求。
项目中导入依赖:
<!--配置feign-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
(2)创建Feign客户端
例如:
Feign会通过动态代理,帮我们生成实现类。
注解@FeignClient声明Feign的客户端,注解value指明服务名称
接口定义的方法,采用SpringMVC的注解。Feign会根据注解帮我们生成URL地址
注解@RequestMapping中的/user,不要忘记(该路径为暴露controller中的父请求路径)。因为Feign需要拼接可访问地址
(3)编写控制层
在Controller中使用@Autowired注入FeignClient(2中创建的客户端)
(4)开启Fei