目录
1、概述
Feign是声明性(注解)web服务客户端。它使编写web服务客户端更加容易。要使用Feign,请创建一个接口并对其进行注解。它具有可插入注解支持,包括Feign注解和JAX-RS注解。Feign是声明性(注解)web服务客户端。它使编写web服务客户端更加容易。
Feign还支持可插拔编码器和解码器。Spring Cloud添加了对Spring MVC注解的支持,并支持使用HttpMessageConverters,Spring web 中默认使用的注解。Spring cloud集成了Ribbon和Eureka 以及spring Cloud LoadBalancer,以在使用Feign时提供负载平衡的http客户端。
Feign是一个远程调用的组件(接口,注解)http调用的。
Feign集成了ribbon ribbon里面集成了eureka的http客户端。
2、示意图
3、项目搭建
3.1 服务注册中心
3.2 order-server
3.2.1 配置
3.2.2 controller接口
3.3 user-server
3.3.1 配置
3.3.2 开启远程调用(feign)
3.3.2 创建feign接口
你需要调用那个controller,就写它的方法签名。
3.3.3 远程调用
4、效果
浏览器(前端)--》》》use-server(/userDoOrder)-----RPC(fegin)-----order-server(/doOrder)
5、超时问题
Fegin的默认等待时间是1秒,超过就报错。
#配置feign的超时时间
#feign只是封装了远程调用的功能,底层还是Ribbon
ribbon:
ReadTimeout: 3000 #超时时间
ConnectTimeout: 3000 #连接服务的超时时间