第一步:导入坐标
第二步:开启Feign远程调用功能,@EnableFeignClients
第三步:编写一个接口,加上@FeignClient,作为Feign客户端,value为要调用的远程微服务名,编写方法。
第四步:要远程调用微服务就用定义的方法
远程调用第三方API,下面代码为调用墨迹天气服务。
开启日志
在配置类里加入以下代码
application.yml中加入以下代码
超时控制
超时控制,分为连接超时控制和读取超时控制,可以精确设置超时时间,也可以设置默认超时时间
重试机制
重试机制:在配置类里,在容器中放入retryer
或者在yml文件中配置
拦截器
拦截器有请求拦截器和响应拦截器,请求拦截器用于对OpenFeign的远程调用请求做定制化修改,被调用的远程服务响应时,OpenFeign会对响应拦截,对响应数据进行预处理。
请求拦截器
定义一个拦截器类,继承feign包下的RequestInterceptor,重写apply方法
使拦截器生效
方式一:
方式二:在拦截器类加上注解@Component
Fallback兜底返回
远程调用失败时,返回兜底数据
编写兜底类
远程调用客户端加上fallback
在远程调用获取失败后,要达到返回兜底数据的效果,需要使用熔断框架Sentinel
导入Sentinel坐标
yml配置文件开启Sentinel